两数之和
// 双层循环
func twoSum(nums []int, target int) []int {
for i :=0; i < len(nums) ; i ++ {
for j :=i+1 ; j < len(nums) ; j ++ {
if nums[i] + nums[j] == target {
return []int{i,j}
}
}
}
return []int{}
}
// 一次哈希
func twoSum(nums []int, target int) []int {
numsHash := make(map[int]int)
for k,v := range nums {
other := target - v
if index,ok := numsHash[other]; ok {
return []int{index, k}
}
numsHash[v] = k
}
return []int{}
}Last updated