去重排序法
给n个数 范围1~1001,去除重复的数,并排序
普通实现方法(java语音)
public int [] getResultArray(int[] inputArray, int n) { if (n <= 0) { return null; } Set<Integer> set = new HashSet<Integer>(); for (int i =0 ; i < n; i++) { set.add(inputArray[i]); } int size = set.size(); int array[] = new int[size]; Object[] obj = set.toArray(); for (int i =0 ; i < size; i++) { array[i] = (Integer)obj[i]; } Arrays.sort(array); return array; }
比较不错的实现方法
int GetResultArray(int *InputString, int n, int *OutputString) { int i,j,k = 0; int array[1001] = {0}; if ( n <= 0 || NULL == InputString || NULL == OutputString) { return -1; } for(i = 0;i < n;i++) { j = InputString[i]; array[j] = 1; } for(i = 1;i <= 1000;i++) { if(array[i] == 1) { OutputString[k++] = i; } } return 0; }

浙公网安备 33010602011771号