這個問題被問別的地方,但我只是想檢查,如果我做了什麼給了RSpec的情況下是適用的:合併和排序2陣列
編寫需要兩個有序陣列和生產排序的方法結合了兩者的陣列。
限制:
- 不要那種任何地方調用。
- 不要以任何方式修改給你的兩個數組。
- 不要規避(2)克隆或複製兩個數組,只能修改副本。
提示:你可能需要索引到兩個數組中。
combine_arrays([1, 3, 5], [2, 4, 6]) == [1, 2, 3, 4, 5, 6]
你可以將兩個數組合併成一個數組,然後運行一個典型的氣泡排序嗎?
def combine_arrays(arr1,arr2)
final = arr1 + arr2
sorted = true
while sorted do
sorted = false
(0..final.length - 2).each do |x|
if final[x] > final[x+1]
final[x], final[x+1] = final[x+1], final[x]
sorted = true
end
end
end
final
end
p combine_arrays([1,3,5],[2,4,6]) => [1, 2, 3, 4, 5, 6]
我喜歡這個算法,但是你的Ruby語法看起來很奇怪...... – spickermann 2015-02-12 04:35:53
可能是因爲我不會說Ruby--它是一個在線轉換VB – 2015-02-12 04:36:55
@DaleM我有點困惑。我仍然在學習Ruby,但是你的代碼不太清楚。如果可以的話,你會介意解釋嗎?特別是你retval = ... – Jgoo83 2015-02-12 04:46:37