题目
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
相关示例如下所示:
解题
方式一
首先想的是直接利用 for 遍历数组,然后根据两数相加是否为 target ,将对应的下标索引添加到一个空数组中然后将其返回,同时要考虑数组的长度问题。
但是代码繁琐,不简洁,运行时间较长。
方法二
后面查看网友的解题思路,发现之前想的太复杂。
给定一个数组,target 确定,那么对应的就会有两个数相加为 target,所以可以使用减法,遍历得到第一个数,然后获取 target 与其差值,然后寻找这个差值。
但是这个内存占用大,所以还需要优化。