package main
import "fmt"
// 暴力遍历求解
func twoSum1(nums []int, target int) []int {
res := []int{0, 0}
for i := 0; i < len(nums); i++ {
for j := i + 1; j < len(nums); j++ {
if nums[i]+nums[j] == target {
res[0] = i
res[1] = j
return res
}
}
}
return res
}
// 哈希表求解
func twoSum2(nums []int, target int) []int {
hashMap := map[int]int{}
for i, x := range nums {
if p, ok := hashMap[target-x]; ok {
return []int{p, i}
}
hashMap[target-x] = i
}
return []int{0, 0}
}
func main() {
fmt.Println(twoSum1([]int{3, 2, 4}, 6))
fmt.Println(twoSum2([]int{3, 2, 4}, 6))
}