整数配列numsとターゲット値targetが与えられた場合、合計が配列内のターゲット値である2つの整数を見つけて、それらの配列添え字を返します。
package com.itheima;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int nums[] = {
1,4,5,6,7,9,76,43,22,11};
int target = 11;
int result[] = twoSum(nums,target);
for (int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
static int[] twoSum(int [] nums,int target){
int temp[] = new int [2];
int t;
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<nums.length;i++){
t = nums[i];
if(map.containsKey(target - t)){
temp[0] = i;
temp[1] = map.get(target-t);
return temp;
}else {
map.put(t,i);
}
}
return null;
}
}