一、题目描述:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
二、题目分析:
- 已知:整数数组nums、目标值target
- 要求:在整数数组中找出两个整数,且两个整数的和等于目标值,返回两整数的数组下标
- 条件:数组中同一元素不能使用两遍
例子:
给定 nums = [3, 3, 11, 15], target = 6
因为 nums[0] + nums[1] = 3 + 3 = 6
所以返回 [0, 1]
注:数组中的元素只能使用一遍
三、解题思路:
- 双循环遍历数组,取两个整数,两整数之和与目标值比较
- 输出一个下标数组,得到一个结果就停止遍历
四、代码实现
class Solution {
public static int[] twoSum(int[] nums, int target) {
//存放数字下标的数组
int[] indexArr = new int[2];
//标识符
boolean flag = false;
//循环遍历数组
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length; j++) {
//避免两次遍历同样数字
if (i == j){
continue;
}else {
if (nums[i] + nums[j] == target){
indexArr[0] = i;
indexArr[1] = j;
flag = true;
}
}
}
//有一个结果就跳出整个循环
if (flag){
break;
}
}
return indexArr;
}
}
😄希望以上的分享对你有所帮助!若有错误,请小伙伴们指出!