Untitled

 avatar
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