隐藏页面特效

day01

1|0题目


Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1] 在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标

2|0代码


# go func twoSum(nums []int, target int) []int{ m:=make(map[int]int) for i := 0; i<len(nums);i++{ another := target - nums[i] if _,ok:=m[another];ok{ return []int{m[another], i} } m[nums[i]] = i } return nil } # python def twoSum(nums, target): numDic = {} for i in range(len(nums)): another = target - nums[i] if numDic.get(another) != None: return [numDic[another], i] numDic[nums[i]] = i

3|0题解思路


首先大体解题思路是,拿给定的一个值减去切片中的值得到的另外一半,看在不在map中,不在的话就把当前被减数和索引存到map中, 下次如果之前的另外一半成了被减数,那么得到的结果就是之前已经存在map中的值,此时从map取出该结果对应的索引,即为结果的索引下标, 而循环的索引即为当前被减数的值所对应的索引。 所以,我们首先定义了一个函数, 函数参数接收一个int类型的切片和一个int类型的和,函数返回值类型同为int类型的切片 func twoSum(nums []int, target int) []int 然后定义了一个map,该map用来存储被减数或结果的值与索引。make初始化 m:=make(map[int]int) 循环切片 for i := 0; i<len(nums);i++ 拿给定的和减去上面每次循环得到的索引下标对应的切片中的值得到另外一半 another := target - nums[i] 然后判断另外一半在不在map中,如果在则返回另外一半的索引和当前被减去值的索引 if _,ok:=m[another];ok{ return []int{m[another], i} } 不在map中,nums[i]得到的切片中的值作为mapkey,循环的索引作为值添加到map m[nums[i]] = i

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/15855128.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示