两次遍历:
// An highlighted block
func twoSum(nums []int, target int) []int {
link:= make([]int,2)
for index1,num1:=range nums{
for index2,num2:=range nums{
if index1 ==index2{
continue
}
if num1==target-num2{
link[1]=index2
link[0]=index1
return link
}
}
}
return link
}
快捷一点:map(哈希表):
// An highlighted block
func sum(a []int,target int)[]int{
var maps map[int]int
maps = make(map[int]int)
for i:=0;i<len(a);i++{
var x = target-a[i]
if v,ok:=maps[x];ok {
return []int{v,i}
}else {
maps[a[i]]=i
}
}
return []int{}
}
双指针:
上课讲了