回答編集履歴

1

全てのエラーを取り除けました。

2020/06/22 05:11

投稿

alizona
alizona

スコア126

test CHANGED
@@ -13,3 +13,147 @@
13
13
  アドバイスや、回答のサンプルをいただいたみなさまありがとうございました。
14
14
 
15
15
  今後ともよろしくお願いいたします。
16
+
17
+
18
+
19
+ ---------------------------------------------------------------------
20
+
21
+
22
+
23
+ LeetCodeという練習サイトで自動テストをしてくれるのですが、やっとクリアしました。コードをここにあげます。
24
+
25
+ ```C++
26
+
27
+ class Solution {
28
+
29
+ public:
30
+
31
+ void merge(vector<int>& numFirst, int fLength, vector<int>& numSecond, int sLength) {
32
+
33
+
34
+
35
+ int F=0;
36
+
37
+ int S=0;
38
+
39
+
40
+
41
+ vector<int>tmp;
42
+
43
+
44
+
45
+ while(sLength !=0 && F<numFirst.size()){
46
+
47
+
48
+
49
+ if(tmp.size()==0){
50
+
51
+ if(S==sLength){
52
+
53
+ F++;
54
+
55
+
56
+
57
+ }else if(F>=fLength || fLength==0){
58
+
59
+
60
+
61
+ numFirst[F]=numSecond[S];
62
+
63
+ F++;
64
+
65
+ S++;
66
+
67
+
68
+
69
+ }else if(numFirst[F]>numSecond[S]){
70
+
71
+ if(F<fLength){
72
+
73
+ tmp.push_back(numFirst[F]);
74
+
75
+ }
76
+
77
+ numFirst[F]=numSecond[S];
78
+
79
+ F++;
80
+
81
+ S++;
82
+
83
+
84
+
85
+ }else if(numFirst[F]<=numSecond[S]){
86
+
87
+ F++;
88
+
89
+ }
90
+
91
+
92
+
93
+ ///////////////////////////////tmpあり////////////////////
94
+
95
+ }else{
96
+
97
+ if(S==sLength){
98
+
99
+ if(F<fLength){
100
+
101
+ tmp.push_back(numFirst[F]);
102
+
103
+ numFirst[F]=tmp[0];
104
+
105
+ tmp.erase(tmp.begin());
106
+
107
+ }else{
108
+
109
+ numFirst[F]=tmp[0];
110
+
111
+ tmp.erase(tmp.begin());
112
+
113
+ }
114
+
115
+ F++;
116
+
117
+
118
+
119
+ }else if(tmp[0]>numSecond[S]){
120
+
121
+ if(F<fLength)
122
+
123
+ tmp.push_back(numFirst[F]);
124
+
125
+ numFirst[F]=numSecond[S];
126
+
127
+ F++;
128
+
129
+ S++;
130
+
131
+
132
+
133
+ }else if(tmp[0]<=numSecond[S]){
134
+
135
+ if(F<fLength){
136
+
137
+ tmp.push_back(numFirst[F]);
138
+
139
+ }
140
+
141
+ numFirst[F]=tmp[0];
142
+
143
+ tmp.erase(tmp.begin());
144
+
145
+ F++;
146
+
147
+ }
148
+
149
+ }
150
+
151
+ }
152
+
153
+ }
154
+
155
+ };
156
+
157
+
158
+
159
+ ```