给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数,并返回他们的数组下标。
public class LeetCode { public static void main(String[] args) { int[] nums={2,7,11,15}; int target=3; int[] ints = twoSum(nums, target); if(ints!=null){ for (int i = 0; i < ints.length; i++) { System.out.println(ints[i]); } }else { System.out.println("不存在这两个数"); } } private static int[] twoSum(int[] nums,int target){ if(nums==null||nums.length==0){ throw new IllegalArgumentException("数组不能为空"); } Map<Integer,Integer> map=new HashMap<>(); for (int i = 0; i <nums.length ; i++) { int num=target-nums[i]; if(map.containsKey(num)){ Integer index = map.get(num); return new int[]{index,i}; } map.put(nums[i],i); } return null; } }
posted on
浙公网安备 33010602011771号