暴力法
import java.util.Scanner;
public class first {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[] nums=new int[n];
for(int i=0;i<n;i++){
nums[i]=sc.nextInt();
}
int target=sc.nextInt();
int[] b=sums(nums,target);
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
}public static int[] sums(int[] nums,int target){
int[] a={0,0};
for(int i=0;i<nums.length-1;i++){
for(int j=0;j<nums.length;j++){
if(nums[i]+nums[j]==target){
a[0]=i;
a[1]=j;
}
}
}
return a;
}
}
哈希法
import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;public class firsthash {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[] nums=new int[n];
for(int i=0;i<n;i++){
nums[i]=sc.nextInt();
}
int target=sc.nextInt();
int[] b=sums(nums,target);
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
}
public static int[] sums(int[] nums,int target){
int[] b={0,0};
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
map.put(nums[i],i);
}
for(int i=0;i<nums.length;i++){
int a=target-nums[i];
if(map.containsKey(a)){
b[0]=i;
b[1]=map.get(a);
break;
}
}
return b;
}
}