两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
思想:map
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| package com.wereash.scut_hot100;
import java.util.HashMap; import java.util.Scanner;
public class Solution001 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String s=scanner.nextLine(); int target=scanner.nextInt(); String str=s.substring(1,s.length()-1); String[] strs=str.split(","); int[] nums=new int[strs.length]; for (int i=0;i<nums.length;i++){ nums[i]=Integer.parseInt(strs[i].trim()); } HashMap<Integer,Integer> hashMap=new HashMap<Integer,Integer>(); for(int i=0;i<nums.length;i++){ int rest=target-nums[i]; if (hashMap.containsKey(rest)) { System.out.println(i+","+hashMap.get(rest)); } hashMap.put(nums[i],i); } } }
|