Find Original Array From Doubled Array LeetCode solution in Java
1class Solution {2public int[] findOriginalArray(int[] changed) {34Arrays.sort(changed);56if (changed.length % 2 != 0) return new int[0];78int mid = changed.length / 2;910int[] res = new int[mid];1112int[] freq = new int[100001];1314for (int no : changed) freq[no]++;1516int idx = 0;1718for (int no : changed) {19if (freq[no] > 0 && no * 2 <= 100000 && freq[no * 2] > 0) {20freq[no]--;21freq[no * 2]--;22res[idx++] = no;23}24}2526for (int i = 0; i < freq.length; i++) {27if (freq[i] != 0) return new int[0];28}2930return res;31}32}