回答編集履歴

3

コードのミス

2021/09/01 11:53

投稿

algobeginner
algobeginner

スコア16

test CHANGED
@@ -34,6 +34,8 @@
34
34
 
35
35
  integrate_lis = list(integrate_set)
36
36
 
37
+ integrate_lis.sort()
38
+
37
39
  #前後の数字を比較して始点のリストと終点のリストに加える
38
40
 
39
41
  update_start_lis.append(integrate_lis[0])
@@ -57,3 +59,9 @@
57
59
  実際に出力されるデータ
58
60
 
59
61
  [1, 6] [5, 8]
62
+
63
+ ---
64
+
65
+ 追記
66
+
67
+ integrate_lisをsortするコードを追加して小さい順に並んでない時に正常に動かない不具合を修正しました。

2

回答場所は正しいらしい

2021/09/01 11:53

投稿

algobeginner
algobeginner

スコア16

test CHANGED
@@ -1 +1,59 @@
1
+ アドバイスを元にプログラムを組んでみました。
2
+
1
- 場所間違え修復案書いてまっので削除します
3
+ 領域内の整数setの中に入れて重複排除した
4
+
5
+ その数字の羅列を元に始点と終点のリストを作ってみました
6
+
7
+
8
+
9
+ ```python
10
+
11
+ start_lis = [1, 3, 6]
12
+
13
+ end_lis = [4, 5, 8]
14
+
15
+ integrate_set = set()
16
+
17
+ integrate_lis = []
18
+
19
+ update_start_lis = []
20
+
21
+ update_end_lis = []
22
+
23
+
24
+
25
+ #領域の中の整数を全てintegrate_setの中に入れる
26
+
27
+ for i in range(len(start_lis)):
28
+
29
+ for j in range(start_lis[i], end_lis[i]):
30
+
31
+ integrate_set.add(j)
32
+
33
+ #setで被った数字を取り除きそれをintegrate_lisの中に入れる
34
+
35
+ integrate_lis = list(integrate_set)
36
+
37
+ #前後の数字を比較して始点のリストと終点のリストに加える
38
+
39
+ update_start_lis.append(integrate_lis[0])
40
+
41
+ for k in range(1, len(integrate_lis) - 1):
42
+
43
+ if integrate_lis[k + 1] - integrate_lis[k] >= 2:
44
+
45
+ update_end_lis.append(integrate_lis[k] + 1 )
46
+
47
+ if integrate_lis[k] - integrate_lis[k - 1] >= 2:
48
+
49
+ update_start_lis.append(integrate_lis[k])
50
+
51
+ update_end_lis.append(integrate_lis[-1] + 1)
52
+
53
+ print(update_start_lis, update_end_lis)
54
+
55
+ ```
56
+
57
+ 実際に出力されるデータ
58
+
59
+ [1, 6] [5, 8]

1

場所を間違えて修復案を書いてしまったので削除します

2021/09/01 09:30

投稿

algobeginner
algobeginner

スコア16

test CHANGED
@@ -1,59 +1 @@
1
- アドバイスを元にプログラムを組んでみました。
2
-
3
- 領域内の整数set中に入れて重複を排除した後
1
+ 場所間違え修復案を書いてしまったで削除します
4
-
5
- その数字の羅列を元に始点と終点のリストを作ってみました
6
-
7
-
8
-
9
- ```python
10
-
11
- start_lis = [1, 3, 6]
12
-
13
- end_lis = [4, 5, 8]
14
-
15
- integrate_set = set()
16
-
17
- integrate_lis = []
18
-
19
- update_start_lis = []
20
-
21
- update_end_lis = []
22
-
23
-
24
-
25
- #領域の中の整数を全てintegrate_setの中に入れる
26
-
27
- for i in range(len(start_lis)):
28
-
29
- for j in range(start_lis[i], end_lis[i]):
30
-
31
- integrate_set.add(j)
32
-
33
- #setで被った数字を取り除きそれをintegrate_lisの中に入れる
34
-
35
- integrate_lis = list(integrate_set)
36
-
37
- #前後の数字を比較して始点のリストと終点のリストに加える
38
-
39
- update_start_lis.append(integrate_lis[0])
40
-
41
- for k in range(1, len(integrate_lis) - 1):
42
-
43
- if integrate_lis[k + 1] - integrate_lis[k] >= 2:
44
-
45
- update_end_lis.append(integrate_lis[k] + 1 )
46
-
47
- if integrate_lis[k] - integrate_lis[k - 1] >= 2:
48
-
49
- update_start_lis.append(integrate_lis[k])
50
-
51
- update_end_lis.append(integrate_lis[-1] + 1)
52
-
53
- print(update_start_lis, update_end_lis)
54
-
55
- ```
56
-
57
- 実際に出力されるデータ
58
-
59
- [1, 6] [5, 8]