标签:hash target 第一 int number 力扣 索引 another
都是用hash存储对应的值和键 每次拿当前值找有没有目标值-当前值 为键的hash已经存在了,如果已经存在了,当前的索引和hash的值就是要找到的索引
否则就把当前的值和索引存入hash
func twoSum(number []int, target int) []int { hash := make(map[int]int) if len(number) <= 0 { return nil } for k,v:= range number { if p,ok := hash[target-v];ok { return []int{p,k} } else { hash[v] = k } } return nil }
func twoSum(number []int, target int) []int { hash := make(map[int]int) for i := 0; i < len(number); i++ { var another int = 0 another = target - number[i] if _, ok := hash[another]; ok { fmt.Println(another,i,hash) return []int{hash[another], i} } else { hash[number[i]] = i } } return nil }
标签:hash,target,第一,int,number,力扣,索引,another 来源: https://www.cnblogs.com/brady-wang/p/15072084.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。