1.两数之和
方法1:暴力求解 两重循环
func twoSum(nums []int, target int) []int {
for i:=0;i<len(nums)-1;i++{
for j:=i+1;j<len(nums);j++{
if nums[i]+nums[j]==target{
return []int{i,j}
}
}
}
return []int{0,0}
}
方法2:借助哈希表
func twoSum(nums []int, target int) []int {
dic:=make(map[int]int,0)
for k,v:=range nums{
find:=target-v
if _,ok:=dic[find];ok{
return []int{k,dic[find]}
}
dic[v]=k //重点要记住索引值
}
return []int{0,0}
}

浙公网安备 33010602011771号