这个时候不得不说数据结构的强大
和为S的两个数字
http://www.nowcoder.com/questionTerminal/390da4f7a00f44bea7c2f3d19491311b
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
if (array.length==0)
return new ArrayList<Integer>();
TreeMap<Integer, ArrayList<Integer>> map = new TreeMap<>();
HashSet<Integer> set = new HashSet<>();
for(int i=0;i<array.length;i++){
int target=sum-array[i];
if (set.contains(target)){
ArrayList<Integer> integers = new ArrayList<>();
integers.add(target);
integers.add(array[i]);
map.put(target*array[i],integers);
}else{
set.add(array[i]);
}
}
if (map.size()>0){
return map.get(map.firstKey());
}else{
return new ArrayList<Integer>();
}
}
查看9道真题和解析