1. 两数之和 - 力扣(Leetcode) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758import java.util.Scanner;import java.util.HashMap;import java.util.Map;//两数之和1public class TwoSum1 { public static void main(String[] args){ Scanner input = new Scanner(System.in); int[] nums = {9,1,3,5,34}; System.out.print("nums:"); for (int i : nums) { System.out.print("\t" + i); } boolean again = true; while(again){ System.out.print("\n请输入 target(666 退出):"); int inputNum = input.nextInt(); if (inputNum == 666) { break; } int[] res = new Solution().twoSum(nums,inputNum); if (res != null) { System.out.println("\n nums[" + res[0] + "] + nums[" + res[1] + "] = " + inputNum); }else{ System.out.println("匹配失败。"); } } }}class Solution { public int[] twoSum(int[] nums, int target) { if (nums == null || nums.length == 0) { return null; } Map<Integer,Integer> map = new HashMap<>(); for(int i = 0; i < nums.length; i++){ int temp = target - nums[i]; if (map.containsKey(temp)) { int[] res = new int[2]; res[1] = i; res[0] = map.get(temp); return res; } map.put(nums[i],i); } return null; }}