JAVA代码—算法基础:计算已排序的数组中不重复的元素个数

计算已排序的数组中不重复的元素个数(重复的元素仅统计1次)

问题描述:计算已排序的整形数组的元素个数,重复出现的元素仅统计1次。
例如:给定一个整形数组

int[] arrayDemo = {1,1,2,2,3,5,5,5};

由于 元素 1 和元素 2,5 都重复出现过,分别仅计数1次。所以数组的元素个数为 4。

算法设计:

package com.bean.algorithmbasic;

public class RemoveDuplicatesFromSortedArrays {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int[] arrayDemo = {1,1,2,2,3,5,5,5};

        int newLength=removeDuplicatesElements(arrayDemo);
        System.out.println("NEW LENGTH OF ARRAYDEMO IS: "+newLength);

    }

    public static int removeDuplicatesElements(int[] arrayDemo) {
        //如果数组长度为0,即不包含任何元素,则返回0
        if (arrayDemo.length == 0) return 0;   
        int i = 0;
        for (int j = 1; j < arrayDemo.length; j++) {
            if (arrayDemo[j] != arrayDemo[i]) {
                i++;
                arrayDemo[i] = arrayDemo[j];
            }
        }
        return i + 1;
    }

}

(完)


版权声明:本文为seagal890原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。