明明的随机数

明明的随机数_第1张图片
思路

  1. 有序的去重比无序的去重效果更好,于是先排序再去重。
  2. 排序用list.sort,去重则对比当前和后一个字符是否一致,并不断更新size大小防止循环出错。

代码


import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Integer> list = new ArrayList<Integer>();
        while(sc.hasNextInt())
        {
            if (sc.hasNextInt()) {
                int n = sc.nextInt();
                for (int i = 0; i < n; i++) {
                    if (sc.hasNext())
                        list.add(sc.nextInt());
                }
            }
//          排序
            list.sort(Comparator.naturalOrder());
//          手写去重
            int size = list.size();
            for (int i = 0; i < size; i++) {
                if ((i + 1) != list.size()) {
                    if (list.get(i) == list.get(i + 1)) {
                        list.remove(i + 1);
                        size = list.size();
                        i--;
                    }
                }
            }
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
            list.clear();
        }
        sc.close();
    }
}

你可能感兴趣的:(明明的随机数)