美文网首页计算客刷题笔记
移除数组中的重复元素

移除数组中的重复元素

作者: Airycode | 来源:发表于2018-04-20 17:11 被阅读10次

    题目链接https://nanti.jisuanke.com/t/11
    给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度。

    例如:数组 A = A={1,1,2},你的程序应该输出 2 即新数组的长度,新数组为 {1, 2}。

    要求:不能新开数组分配额外的空间,即常数空间限制。

    输入格式

    输入一个整数 n(1≤n≤1000)。

    接下来一行 nn 个整数 A_i(-1000 \leq A_i \leq 1000)A
    i
    ​ (−1000≤A
    i
    ​ ≤1000),表示数组 A 中的每个元素。

    输出格式

    输出一个整数,表示新数组长度。

    样例输入

    5
    0 0 1 1 2
    样例输出

    3
    代码实现:

    import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = 0;
     
            if (sc.hasNext()) {
                n = sc.nextInt();
            } else {
                System.out.println(0);
                return;
            }
     
            int[] ints = new int[n];
     
            for (int i = 0; i < n; i++) {
                int d = sc.nextInt();
                ints[i]=d;
            }
     
            for (int i = 0; i < ints.length-1; i++) {
                int anInt = ints[i];
                if (anInt == ints[i + 1]) {
                    n--;
                }
            }
     
            System.out.println(n);
        }
    }
    

    相关文章

      网友评论

        本文标题:移除数组中的重复元素

        本文链接:https://www.haomeiwen.com/subject/jpdzkftx.html