问题描述
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出
思路:
1、因为这题只会存在一个答案说明给定的数都是唯一固定的,所以可以先将所有的数值放入hash表当中,然后依次遍历即可,比如遍历到第一个数据的时候,可以直接使用target数值-当前遍历的数值 直接查询即可,若有直接返回该数值即可
2、直接使用两层循环暴力遍历完成该题
目前只给出2的代码,1的代码稍后会更新:
代码:
class Solution {
public static int[] twoSum(int[] nums, int target) {
int[] a = new int[2];
for (int i = 0; i <nums.length ; i++) {
for (int j = 0; j < nums.length-1&&j!=i; j++) {
if ((nums[i]+nums[j])==target)
{
a[0]=j;
a[1] =i;
break;
}
}
}
return a;
}
}