質問編集履歴

4

changed code

2020/06/29 08:58

投稿

alizona
alizona

スコア126

test CHANGED
File without changes
test CHANGED
@@ -28,18 +28,12 @@
28
28
 
29
29
  int firstUniqChar(string s) {
30
30
 
31
-
31
+
32
32
 
33
33
  int size=(int)(s.length());
34
34
 
35
35
  bool repeat;
36
36
 
37
-
38
-
39
- int size=(int)(s.length());
40
-
41
- bool repeat;
42
-
43
37
 
44
38
 
45
39
  for(int i=0;i<size;i++){

3

changed code

2020/06/29 08:58

投稿

alizona
alizona

スコア126

test CHANGED
File without changes
test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  return -1;
76
76
 
77
- int nonRepeatedNum;
77
+ // int nonRepeatedNum;
78
78
 
79
79
  // if(size==1){
80
80
 

2

コードの変更

2020/06/29 08:57

投稿

alizona
alizona

スコア126

test CHANGED
File without changes
test CHANGED
@@ -74,115 +74,115 @@
74
74
 
75
75
  return -1;
76
76
 
77
- ~~int nonRepeatedNum;
77
+ int nonRepeatedNum;
78
-
78
+
79
- if(size==1){
79
+ // if(size==1){
80
-
80
+
81
- return 0;
81
+ // return 0;
82
-
82
+
83
- }else if(size==0){
83
+ // }else if(size==0){
84
-
84
+
85
- return -1;
85
+ // return -1;
86
-
86
+
87
- }
87
+ // }
88
-
89
-
90
-
88
+
89
+
90
+
91
- for(int i=0;i<=size;i++){
91
+ // for(int i=0;i<=size;i++){
92
92
 
93
93
 
94
94
 
95
- repeat=false;
95
+ // repeat=false;
96
-
96
+
97
- nonRepeatedNum=-1;
97
+ // nonRepeatedNum=-1;
98
-
99
-
100
-
98
+
99
+
100
+
101
- if(i!=size-1){
101
+ // if(i!=size-1){
102
-
102
+
103
- //上り(要素数の小さい方から大きい方へと比較していく)
103
+ // //上り(要素数の小さい方から大きい方へと比較していく)
104
-
104
+
105
- for(int j=i+1;j<size;j++){
105
+ // for(int j=i+1;j<size;j++){
106
-
106
+
107
- if(s[i]==s[j]){
107
+ // if(s[i]==s[j]){
108
-
108
+
109
- repeat=true;
109
+ // repeat=true;
110
+
110
-
111
+ // }
112
+
111
- }
113
+ // }
112
-
113
- }
114
+
114
-
115
-
116
-
115
+
116
+
117
- //下り(要素数の大きい方から小さい方へと比較していく
117
+ // //下り(要素数の大きい方から小さい方へと比較していく
118
-
118
+
119
- if(i>0){
119
+ // if(i>0){
120
-
120
+
121
- for(int k=i-1;k>=0;k--){
121
+ // for(int k=i-1;k>=0;k--){
122
122
 
123
123
 
124
124
 
125
- if(s[i]==s[k]){
126
-
127
- repeat=true;
128
-
129
- }
130
-
131
- }
132
-
133
- }
134
-
135
- //最後の文字から、要素数の小さい方へと比較していく
136
-
137
- }else if(i==size-1){
138
-
139
- for(int m=size-2;m>=0;m--){
140
-
141
- if(s[i]==s[m]){
142
-
143
- //cout<<"last 1"<<endl;
144
-
145
- repeat=true;
146
-
147
- //最後の2文字を後ろから比較したから、
148
-
149
- //iにsizeを
150
-
151
- //代入して、ループを終わらせる
152
-
153
- i=size;
154
-
155
- }
156
-
157
- }
158
-
159
- }
160
-
161
-
162
-
163
- if(nonRepeatedNum==-1 && repeat==false){
164
-
165
- //つまり、一つ目の、繰り返しのなかった数字
166
-
167
- nonRepeatedNum=i;
168
-
169
- break;
170
-
171
- }
172
-
173
- }
174
-
175
-
176
-
177
- if(nonRepeatedNum==-1){
178
-
179
- return -1;
180
-
181
- }else{
182
-
183
- return nonRepeatedNum;
184
-
185
- }~~
125
+ // if(s[i]==s[k]){
126
+
127
+ // repeat=true;
128
+
129
+ // }
130
+
131
+ // }
132
+
133
+ // }
134
+
135
+ // //最後の文字から、要素数の小さい方へと比較していく
136
+
137
+ // }else if(i==size-1){
138
+
139
+ // for(int m=size-2;m>=0;m--){
140
+
141
+ // if(s[i]==s[m]){
142
+
143
+ // //cout<<"last 1"<<endl;
144
+
145
+ // repeat=true;
146
+
147
+ // //最後の2文字を後ろから比較したから、
148
+
149
+ // //iにsizeを
150
+
151
+ // //代入して、ループを終わらせる
152
+
153
+ // i=size;
154
+
155
+ // }
156
+
157
+ // }
158
+
159
+ // }
160
+
161
+
162
+
163
+ // if(nonRepeatedNum==-1 && repeat==false){
164
+
165
+ // //つまり、一つ目の、繰り返しのなかった数字
166
+
167
+ // nonRepeatedNum=i;
168
+
169
+ // break;
170
+
171
+ // }
172
+
173
+ // }
174
+
175
+
176
+
177
+ // if(nonRepeatedNum==-1){
178
+
179
+ // return -1;
180
+
181
+ // }else{
182
+
183
+ // return nonRepeatedNum;
184
+
185
+ // }
186
186
 
187
187
  }
188
188
 

1

自分のコードを見返していたらコードを短くする方法を見つけました。

2020/06/29 08:56

投稿

alizona
alizona

スコア126

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,47 @@
34
34
 
35
35
  bool repeat;
36
36
 
37
+
38
+
39
+ int size=(int)(s.length());
40
+
41
+ bool repeat;
42
+
43
+
44
+
45
+ for(int i=0;i<size;i++){
46
+
47
+
48
+
49
+ repeat=false;
50
+
51
+
52
+
53
+ for(int j=0;j<size;j++){
54
+
55
+
56
+
57
+ if(i!=j){
58
+
59
+ if(s[i]==s[j])
60
+
61
+ repeat=true;
62
+
63
+ }
64
+
65
+ }
66
+
67
+ if(repeat==false){
68
+
69
+ return i;
70
+
71
+ }
72
+
73
+ }
74
+
75
+ return -1;
76
+
37
- int nonRepeatedNum;
77
+ ~~int nonRepeatedNum;
38
78
 
39
79
  if(size==1){
40
80
 
@@ -142,7 +182,7 @@
142
182
 
143
183
  return nonRepeatedNum;
144
184
 
145
- }
185
+ }~~
146
186
 
147
187
  }
148
188