zoukankan      html  css  js  c++  java
  • ECNU 3150 线性表去重

    ECNU 3150 线性表去重

    链接

    https://acm.ecnu.edu.cn/problem/3450

    题目

    单点时限: 2.0 sec

    内存限制: 256 MB

    给一个 n个节点的线性表,将里面重复元素去除,并从小到大排序输出。

    输入格式
    第一行输入一个整数 n 。

    第二行输入 n 个整数 以空格隔开。

    输出格式
    输出为一行 m 个数字 (m 为去重后的线性表大小) 以空格隔开。

    样例
    input
    5
    5 1 2 2 5
    output
    1 2 5
    提示
    数字间以空格分开,最后一个数字后面没有空格。

    思路

    有两个要求,去重,排序。
    这里我采用线性表输入存储,直接用sort进行排序,排序之后输出的同时进行去重,如果与前一个相同,就不输出,这样对于重复值只能输出一个,达成要求。如果要求返回线性表的话,就新建一个线性表即可。

    代码

    public static void fun() {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        ArrayList<Integer> list0 = new ArrayList<>(n);
        for (int i = 0; i < n; i++) {
          int temp = sc.nextInt();
          list0.add(temp);
        }
        Collections.sort(list0);
        Iterator<Integer> it = list0.iterator();
        int tag = 101;
        int flag = 1;
        while (it.hasNext()) {
          int temp = it.next();
          if(temp!=tag)
          {
            if(flag!=1)
            {
              System.out.print(" ");
            }
            System.out.print(temp);
            flag++;
          }
          tag = temp;
        }
      }
    
  • 相关阅读:
    java之数组使用以及拓展
    Java之数组介绍
    方法
    break&continue
    networkmanager is not running 网络管理没有运行
    CentOS-7修改IP
    操作系统
    计算机基础理论
    编码和解码
    pyQuery库
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14318674.html
Copyright © 2011-2022 走看看