Untitled
unknown
java
a year ago
1.4 kB
18
Indexable
import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class findPairs { public static void main(String[] args) { int[] arr = {1,9,10,8,2,0,7}; System.out.println(findPair(arr)); } public static List<List<Integer>> findPair(int[] arr) { // You can code here Arrays.sort(arr); List<List<Integer>> res = new ArrayList<>(); Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < arr.length; i++) { map.put(arr[i], i); } for (int i = 0; i < arr.length - 1; i++) { int element = arr[i]; for (int j = i + 1; j < arr.length; j++) { int val = arr[j] - element; if (map.containsKey(val)) { int index = map.get(val); if (index == i) continue; List<Integer> list = new ArrayList<>(); list.add(arr[i]); list.add(arr[index]); // map.remove(arr[i],i); // map.remove(arr[index],index); res.add(list); } } } return res; } }
Editor is loading...
Leave a Comment