Given an array of integers, return indices of the two numbers such that they add up to a specific ta

来源:互联网 发布:linux 搜索文件 编辑:程序博客网 时间:2024/05/17 23:31
import java.util.HashMap;
import java.util.Scanner;import javax.swing.text.NumberFormatter;public class Solution {public static int[] twoSum(int[] num,int target ) {final HashMap<Integer,Integer> myMap = new HashMap<Integer, Integer>();//int []result = new int[2];for (int i = 0; i < num.length; i++) {myMap.put( num[i],i);}for (int i = 0; i < num.length; i++) {int v =  myMap.get( target - num[i]);if (v != 0 && v > i) {return new int[]{i,v};}}return null;}public static void main(String[] args) {int num[] = new int[]{2,7,11,15};Scanner scanner = new Scanner(System.in);int target = scanner.nextInt();int []array = twoSum(num, target);System.out.print("[");for (int i = 0; i < array.length; i++) {System.out.print(array[i]+" ");//System.out.print("");}System.out.print("]");}}

0 0