当前位置: 首页 > LeetCode > 正文

leetcode-两数之和-go

admin 发表于2021年2月2日 21:17
package leetcode 

//hash算法,visited采用hashmap存储,每遍历一个数,就检查target-num的差是否在hashmap存在了,存在则返回,不存在则记录,继续遍历

func twoSum(nums []int, target int) []int {
	var visited = make(map[int]int,len(nums))
	for  i, num := range nums{
		sub := target - num
		if  j,ok := visited[sub]; ok{
			return []int{i,j}
		}else {
			visited[num] = i
		}
	}
	return nil
}

//穷搜,固定一个数num,搜索剩余数+num?=target

func twoSum2(nums []int, target int) []int {
	for i, num := range nums{
		for j:= i+1; j<len(nums); j++ {
			if num + nums[j] == target{
				return []int{i,j}
			}
		}
	}
	return nil
}
全文完
本文标签: leetcode
本文标题: leetcode-两数之和-go
本文链接: http://blog.qqzzz.net/m/?post=102

〓 随机文章推荐

共有1129阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文

请勾选本项再提交评论