分为两种情况:
1,对于有序数组例如int[] A = [1, 1, 2, 2, 3]
private static int[] removeSimpleNo(int[] a) { if (a.length <= 1){ return a; } int index = 0; for (int i = 1; i < a.length ; i++) { if (a[index] != a[i]){ a[++index] = a[i]; } } int[] b = new int[index + 1]; System.arraycopy(a,0,b,0,b.length); return b; }
2,对于无序数组int[] A = {3,2,1,1,2,2,3};
private static int[] resort(int[] a) { int[] c = new int[0]; if (a.length > 0){ HashSet<Object> set = new HashSet<>(); for (int i = 0; i < a.length ; i++) { set.add(a[i]); } int[] b = new int[set.size()]; ArrayList<Object> list = new ArrayList<>(); Iterator<Object> it = set.iterator(); while (it.hasNext()){ list.add(it.next()); } for (int i = 0; i < list.size(); i++) { b[i] = (int)list.get(i); } c = b; } return c; }