我覺得我們需要考慮兩種情況:
當陣列中存在重複元素,並且target
剛好是這兩個元素的和,那麼我們的返回結果應該是兩個相同元素的下標,甚至如果這樣相同的元素有很多個,那麼我只需要返回前兩個相同的元素就可以了。
本題使用雜湊來實現,定義雜湊為map[int]int
,鍵為陣列中元素的值,值為他們的下標,因為相同的元素可能會有多個,所以使用乙個陣列來儲存他們的下標
func twosum(nums int, target int) intfor index, value := range nums
} else
} }
return int{}
}
leetcode題庫283 移動零
給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。思路 使用兩個陣列,將原陣列的不為0的資料依次儲存在新的陣列中,後面補0即可。這...
LeetCode283 移動零(簡單)
原題目給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。題目大意 將陣列所有的零移至末尾,且不改變其他數字的順序,且只能開闢常數級...
Leetcode刷題283 移動零
方法1 把陣列中j個非零元素存放在陣列的前j項,之後把後邊的元素設定為0即可,如下 class solution def movezeroes self,nums list int none do not return anything,modify nums in place instead.j ...