网站开发语言优缺点,做短租哪个网站,网站制作关键技术,全网推广题目 给定一个整数数组 nums 和一个目标值 target#xff0c;请你在该数组中找出和为目标值的那 两个 整数#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是#xff0c;你不能重复利用这个数组中同样的元素。 示例 给定 nums [2, 7, 11, 15], …题目 给定一个整数数组 nums 和一个目标值 target请你在该数组中找出和为目标值的那 两个 整数并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是你不能重复利用这个数组中同样的元素。 示例 给定 nums [2, 7, 11, 15], target 9 因为 nums[0] nums[1] 2 7 9 所以返回 [0, 1] 解答
class Solution {public int[] twoSum(int[] nums, int target) {int length nums.length;int olen length - 1;// 控制循环的结束条件避免越界int ilen length;int value 0;int i 0;int j 1;for (i 0; i olen; i) {value target - nums[i];for (j i 1; j ilen; j) {if (value nums[j]) { // 运算得到正确的结果后要及时退出循环return new int[] {i, j}; }}}return null;}
}要点 本质而言这道目并不复杂使用嵌套循环遍历数组即可。 在编码时依据题目给出的提示信息做出正确的处理比如
不能重复利用这个数组中同样的元素意味着内层循环需要以外层循环为起点否则遇到如下用例时将输出错误的结果。 给定 nums[2, 5, 5, 3]target 10 因为 nums[1] nums[2] 10 所以返回[1, 2]而不是[1, 1]。 运算得到正确结果后需要及时退出循环返回结果。控制循环结束条件避免出现访问越界。