排好序的数组中,找出两数之和为m的所有组合
public static void main(String[] args) { int[] a = {1,2,2,3,3,4,5,6}; int m = 6; normal(a, m); } //正确思路
private static void normal(int[] a, int m) { Map<Integer,Integer> b = new HashMap<Integer, Integer>(); for(int i = 0;i < a.length;i++) { for(int j = 0;j<a.length;j++) { if(i!=j&&(a[i]+a[j]==m)) { if(a[i]>=a[j]) { b.put(a[i], a[j]); } else { b.put(a[j], a[i]); } break; } } } for(int t : b.keySet()) { System.out.println(t+","+b.get(t)+";"); } }