import java.util.ArrayList; public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ArrayList<Integer> ans = new ArrayList<Integer>(); if(array == null || array.length <= 1){ return ans; } int left = 0; int right = array.length - 1; int max = Integer.MAX_VALUE; while(left < right){ if(array[left] + array[right] > sum){ right--; } else if(array[left] + array[right] < sum){ left++; } else{ if(array[left] * array[right] < max){ ans.clear(); ans.add(array[left]); ans.add(array[right]); max = array[left] * array[right]; } left++; } } return ans; } }