質問編集履歴

3

2019/12/06 19:39

投稿

usestrict
usestrict

スコア13

test CHANGED
File without changes
test CHANGED
@@ -40,9 +40,9 @@
40
40
 
41
41
  offsets.each_with_object([]) do |n, result|
42
42
 
43
- result.push arr[offset..(n - 1)]
43
+ result.push arr[offset..(offset + n - 1)]
44
44
 
45
- offset = n
45
+ offset += n
46
46
 
47
47
  end
48
48
 

2

2019/12/06 19:39

投稿

usestrict
usestrict

スコア13

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  offsets.each_with_object([]) do |n, result|
42
42
 
43
- result.push arr[offset..n]
43
+ result.push arr[offset..(n - 1)]
44
44
 
45
45
  offset = n
46
46
 

1

2019/12/06 19:37

投稿

usestrict
usestrict

スコア13

test CHANGED
File without changes
test CHANGED
@@ -24,9 +24,33 @@
24
24
 
25
25
 
26
26
 
27
- この場合、任意の要素数が不定、か分割数も不定だった際に、どように記述すれば完結かつ高速に処理できるか教えていただきたいです。
27
+ 今思いいてる
28
28
 
29
+
30
+
31
+ ```ruby
32
+
29
- (任意の要素数は元の配列の長さを超えないこととします)
33
+ arr = [1,2,3,4,5,6,7,8,9,10]
34
+
35
+ offsets = [2, 5, 3]
36
+
37
+ offset = 0
38
+
39
+
40
+
41
+ offsets.each_with_object([]) do |n, result|
42
+
43
+ result.push arr[offset..n]
44
+
45
+ offset = n
46
+
47
+ end
48
+
49
+ ```
50
+
51
+ という感じです。offsetsは数値を直書きしてますが実際は、任意の要素数が不定、かつ分割数も不定の変数になります。(任意の要素数は元の配列の長さを超えないこととします)
52
+
53
+ この場合、どのように記述すれば↑のコードより完結かつ高速に処理できるか教えていただきたいです。
30
54
 
31
55
 
32
56