题目描述:给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
示例:
问题分析:
由题目的描述可以看出,要求从一个数组中,找出两个数字,这两个数字的和为我们所要求的目标值,并且返回这两个数字在数组中的下标。这里笔者采用的方法是,直接用两个循环,采用遍历的方法来找到满足要求的数字,并且返回数字下标。
话不多说,直接上关键部分代码:
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] a = new int[2];
for (int i = 0; i < nums.length; i ++) {
for (int j = i + 1; j < nums.length; j ++) {
if (nums[i] + nums[j] == target) {
a[0] = i;
a[1] = j;
return a;
}
}
}
return a;
}
}
nums[ ]和target均为外部自己定义的变量,这里笔者就不写出来,只给出了关键的循环遍历代码。
这样的直接循环遍历的优点是简单粗暴,便于理解,但是内存占用会比较高。