func twoSum(nums []int, target int) [][]int {
// 如果是先存hash再遍历就会出现找到自己重复的情况,比如[3,2,4],6。进去之后先是3,然后target-v=3,所以返回0,0了
var res [][]int
// 修改map的v变为[]int,放多个索引
hash := map[int][]int{}
for i, v := range nums {
if p, ok := hash[target-v]; ok {
// 遍历索引[]int
for _, b := range p {
res = append(res, []int{nums[i], nums[b]})
}
}
// 之前有就append
if _, ok := hash[v]; ok {
hash[v] = append(hash[v], i)
} else {
// 没有就赛第一个值
hash[v] = []int{i}
}
}
return res
}