解決方法:
- 直接兩次循環,兩數相加爲target則return,時間複雜度 O()
func twoSum(nums []int, target int) []int {
for ai, a:=range nums{
for bi, b:=range nums[ai+1:]{
if a+b == target{
return []int{ai, bi+ai+1}
}
}
}
return []int{}
}
- 使用map,將所有的數存入map中,value -> index
使用go語言編碼
func twoSum(nums []int, target int) []int {
res := map[int]int{}
for ai, a:=range nums{
if bi, ok := res[target - a]; ok{
return []int{bi, ai}
}
res[a] = ai
}
return []int{}
}