两数之和

发布于:2019-07-15 13:12:56

题目


思路

func twoSum(nums []int, target int) []int {
// 声明并初始话一个空的[]int
var res = []int{}
// 动态分配一个map
value_index := make(map[int]int)
for i := 0; i < len(nums); i++ {
// 使用返回值ok判断mao中的键是否存在
_, ok := value_index[nums[i]]
// 如果map键中存在当前索引对应的值,则添加两个值的索引到res中
if ok {
// 切片的添加元素函数append函数调用后的返回结果一定要赋值,否则报错evaluated but not used
res = append(res, value_index[nums[i]])
res = append(res, i)
}
// 不存在,则 将目标之减去当前索引对应的值target-nums[i]作为键,当前索引作为值,加入到map中
value_index[target-nums[i]] = i
}
return res
}


结果



阅读 94