给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7
= 9 所以返回 [0, 1]
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum
分析:题目要求在指定的数组中找到两个数,并且这两个数相加之和等于给定的target,所以用二层嵌套循环来寻找这两个数。
class Solution
{
public int[] twoSum(int[] nums, int target)
{
int []index = new int[2];
//定义一个int型长度为2的index数组,用来记录找到的两个数的下标
int index_0,index_1;
//index_0,index_1用来记录找到的两个数的下标
index_0=0;
index_1=0;
//先初始化为0,如果不初始化,在eclipse中直接在下面的语句段赋值会报错
//下面双层循环来寻找数组中符合条件的两个数,nums是传入的给定数组
for (int i=0;i<nums.length;i++)
{
for (int k=i+1;k<nums.length;k++)
{
if (nums[i]+nums[k]==target)//如果两个数相加等于target
{
index_0=i;
index_1=k;
//分别将找到的两个下标赋给index_0和index_1
break;
//已经找到,所以跳出循环
}
}
}
index[0]=index_0;
index[1]=index_1;
//将index_0和index_1分别放到index数组中
return index;
//返回index数组
}
}