回答編集履歴
9
語単語
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
```
|
54
54
|
|
55
|
-
```
|
55
|
+
```text
|
56
56
|
|
57
57
|
[1, 1, 1, 1, 1, 1]
|
58
58
|
|
8
誤字
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
```
|
54
54
|
|
55
|
-
```
|
55
|
+
```Plain text
|
56
56
|
|
57
57
|
[1, 1, 1, 1, 1, 1]
|
58
58
|
|
7
if の条件を for に組み込み
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
if(i > 0) buf[i-1] ++;
|
38
38
|
|
39
|
-
|
39
|
+
for(int j=--buf[i--]; j > 0; j--) buf[++i] = 1;
|
40
40
|
|
41
41
|
//既存チェック・表示
|
42
42
|
|
6
行数削減
test
CHANGED
@@ -36,25 +36,13 @@
|
|
36
36
|
|
37
37
|
if(i > 0) buf[i-1] ++;
|
38
38
|
|
39
|
-
if(--buf[i] > 0) {
|
40
|
-
|
41
|
-
for(int j=buf[i]; j > 0; j--) buf[
|
39
|
+
if(--buf[i--] > 0) for(int j=buf[i+1]; j > 0; j--) buf[++i] = 1;
|
42
|
-
|
43
|
-
}
|
44
|
-
|
45
|
-
i --;
|
46
40
|
|
47
41
|
//既存チェック・表示
|
48
42
|
|
49
43
|
String s = Arrays.toString(Arrays.stream(buf, 0, i+1).sorted().toArray());
|
50
44
|
|
51
|
-
if(!done.contains(s)) {
|
52
|
-
|
53
|
-
|
45
|
+
if(done.add(s)) System.out.println(s);
|
54
|
-
|
55
|
-
done.add(s);
|
56
|
-
|
57
|
-
}
|
58
46
|
|
59
47
|
} while(i > 0);
|
60
48
|
|
5
一部 stream 化
test
CHANGED
@@ -46,11 +46,7 @@
|
|
46
46
|
|
47
47
|
//既存チェック・表示
|
48
48
|
|
49
|
-
int[] t = Arrays.copyOf(buf, i+1);
|
50
|
-
|
51
|
-
Arrays.sort(t);
|
52
|
-
|
53
|
-
String s = Arrays.toString(t);
|
49
|
+
String s = Arrays.toString(Arrays.stream(buf, 0, i+1).sorted().toArray());
|
54
50
|
|
55
51
|
if(!done.contains(s)) {
|
56
52
|
|
4
バグ
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
if(i > 0) buf[i-1] ++;
|
38
38
|
|
39
|
-
if(--buf[i]
|
39
|
+
if(--buf[i] > 0) {
|
40
40
|
|
41
41
|
for(int j=buf[i]; j > 0; j--) buf[i++] = 1;
|
42
42
|
|
3
最適化?
test
CHANGED
@@ -38,19 +38,11 @@
|
|
38
38
|
|
39
39
|
if(--buf[i] == 0) {
|
40
40
|
|
41
|
-
i --;
|
42
|
-
|
43
|
-
} else {
|
44
|
-
|
45
|
-
for(int j=i; buf[
|
41
|
+
for(int j=buf[i]; j > 0; j--) buf[i++] = 1;
|
46
|
-
|
47
|
-
buf[j] --;
|
48
|
-
|
49
|
-
buf[++i] ++;
|
50
|
-
|
51
|
-
}
|
52
42
|
|
53
43
|
}
|
44
|
+
|
45
|
+
i --;
|
54
46
|
|
55
47
|
//既存チェック・表示
|
56
48
|
|
2
実行結果追加
test
CHANGED
@@ -75,3 +75,29 @@
|
|
75
75
|
}
|
76
76
|
|
77
77
|
```
|
78
|
+
|
79
|
+
```plain text
|
80
|
+
|
81
|
+
[1, 1, 1, 1, 1, 1]
|
82
|
+
|
83
|
+
[1, 1, 1, 1, 2]
|
84
|
+
|
85
|
+
[1, 1, 1, 3]
|
86
|
+
|
87
|
+
[1, 1, 2, 2]
|
88
|
+
|
89
|
+
[1, 1, 4]
|
90
|
+
|
91
|
+
[1, 2, 3]
|
92
|
+
|
93
|
+
[1, 5]
|
94
|
+
|
95
|
+
[2, 2, 2]
|
96
|
+
|
97
|
+
[2, 4]
|
98
|
+
|
99
|
+
[3, 3]
|
100
|
+
|
101
|
+
[6]
|
102
|
+
|
103
|
+
```
|
1
やっぱり違うかもしれない文を削除
test
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
要件を満たしていないので答えにはなりませんが、ヒントになるか(ならないか)ということで、動作するモノを出してみます。
|
2
2
|
|
3
3
|
ハノイの塔のように '1' をあちこちに移動させている感じです。
|
4
|
-
|
5
|
-
「試したこと」に書かれているのはこんな感じのことでしょうか。(重複は Set で弾いています。)
|
6
4
|
|
7
5
|
|
8
6
|
|