private static int[] findin3(int[] arr1, int[] arr2, int[] arr3, int sum) {
for(int i = 0; i < arr1.length; i++) {
int rest = sum - arr1[i];
int[] arr = findin2(arr2, arr3, rest);
if(arr != null) {
return new int[]{arr1[i], arr[0], arr[1]};
}
}
return new int[]{-1, -1, -1};
}
private static int[] findin2(int[] arr1, int[] arr2, int sum) {
HashMap<Integer, Boolean> map = new HashMap<>();
for(int i = 0; i < arr1.length; i++) {
map.put(arr1[i], true);
}
for(int i = 0; i < arr2.length; i++) {
int temp = arr2[i];
if(map.containsKey(sum - temp)) {
return new int[]{temp, sum - temp};
}
}
return null;
}