給定一個數組,然後對它進行排序以在賠率出現之前進行賠率出現。 所以我在Swift中編寫了如下的方法。在這種方法中我看不出任何錯誤,但是邏輯是不正確的。任何人都可以給我一個線索將拯救我的生命。 在此先感謝!對排列數組進行排序以在賠率之前產生賠率
下面的代碼:
class OddsBeforeEvens {
func sortArrayOddsBeforeEvens(var array: [Int]) -> [Int]? {
if array.isEmpty { return nil }
let length = array.count
var begin = 0
var end = length - 1
var temp: Int
while (begin < end) {
while (begin < end && array[begin]/2 != 0) {
begin += 1
}
while (begin < end && array[end]/2 == 0) {
end -= 1
}
if (begin < end) {
temp = array[begin]
array[begin] = array[end]
array[end] = temp
}
}
return array
}
}
您是否嘗試*調試*代碼? –
看起來您必須使用'%2!= 0'而不是'/ 2!= 0'來檢測數字是奇數還是偶數。 –
@ Hoa,非常感謝!我犯了一個可怕的小錯誤,我很久沒有找到!謝謝!!!! –