func twoSum(nums []int, target int) []int {
var ans []int
var d map[int]int = make(map[int]int)
for i, num := range nums{
n2, ok := d[num]
if(ok){
ans = append(ans, n2)
ans = append(ans, i)
return ans
}
d[target-num] = i
}
return ans
}
go语言基础
创建int,很简单,一行就行,创建map,还要make。。。
大括号,必须不能在一起,教你做事,等号,也很奇怪
:= 是声明变量并赋值,= 是赋值
d := make(map[int]int)
就像这样,就可以不用给d定义了。
最简单的版本,直接初始化返回,不用创建map
func twoSum(nums []int, target int) []int {
d := map[int]int{}
for i, num := range nums{
n2, ok := d[num]
if(ok){
return []int{n2, i}
}
d[target-num] = i
}
return []int{0, 0}
}