編寫一個方法,用於查找數組數組是否有一個總和爲零的對。小心零的情況;在數組中需要有兩個零來構成一個總和爲零的對。數組中的對象的紅寶石數量等於零
下面是我寫的代碼,但我知道它是錯誤的。我知道在某些時候它會自己添加,所以如果我的數組中只有一個0,那麼它仍然會返回true。我是編程和Ruby的新手,所以任何建議都會非常感激。
謝謝!
def has_zero?(array)
left, right = [-1,1]
lefter=[]
righter=[]
righter=array.each {|x| x+= array[right]}
lefter=array.each {|x| x+= array[left]}
if lefter.include?(0) || righter.include?(0)
return true
else return false
end
left,right = [left-1,right+1]
end
您的示例輸入數據丟失。證明這一點,以及你的意思是「有一對」。任何兩個數字或兩個連續的數字? –
任何兩個數字 – JaTo
不知道爲什麼這個問題被關閉爲「太本地化」。這是2-sum問題,這是一個變種:http://en.wikipedia.org/wiki/Subset_sum_problem。 – FMc