一個數組由1
,2
和0
組成。我正在嘗試確定數組中的最大重複次數和它的起始索引。查找數組中連續重複元素的索引和大小
實施例:
2 2 1 0 2 2 2 0 1 1
應該接受的整數arguement,其可以是數字1
或2
如果我們證明上述陣列上這些輸入中的一個的方法,所述輸出將是:
find_duplicates(2)
=> 3,4
find_duplicates(1)
=> 2,8
其中第一個數字表示重複的大小,第二個數字表示它的起始索引。
我試過循環數組,並與arr[i+1]
或arr[-1]
比較,但這不是正確的方法。任何幫助將不勝感激。
編輯: 我沒有粘貼什麼,我在我問這個問題的時候已經嘗試過,這不是,如果我能感覺到我跟着這樣一些信心,我會做:
def find_status(arr,participant)
status = Array.new
#arr is a two dimensional array
for i in 0...arr.length do
current_line=arr[i]
cons=0
for j in 0...current_line.length do
#I worked on lots of if/else/case statements here, this is just one of them
if current_line[j] == participant
cons+=1 #count consecutive
if current_line[j]!=participant
cons=0
end
end
status[i] = cons
end
end
return status
end
不清楚你的意思是「該方法應接受參數(1或2)並回復如下(輸入爲2):」。 – sawa
感謝您的編輯。這意味着「該方法,應該接受兩個整數中的一個作爲輸入:」1「或」2「,並返回描述的輸出 – devwanderer
Hello @TobySpeight對不起,這是我的錯。看起來我缺乏有用的ruby方法來解決問題的知識。(特別是'chunk') – devwanderer