golang语法学习

1

https://leetcode.com/problems/two-sum/

  • 二重循环
func twoSum(nums []int, target int) []int {
	for i := 1; i < len(nums); i++ {
		for j := 0; j < i; j++ {
			if nums[i]+nums[j] == target {
				return []int{i,j}
			}
		}
	}
	panic("invalid argument")
}
  • 用字典求解
func twoSum(nums []int, target int) []int {
	dict:=map[int]int{}
	for i,num :=range nums{
		inv:=target-num
		if v,ok:=dict[num];ok{
			return []int{v,i}
		}else{
			dict[inv]=i
		}
	}
	panic("invalid argument")
}
发布了281 篇原创文章 · 获赞 35 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/TQCAI666/article/details/102565647