计算int数组

时间:2018-05-21 21:40:39

标签: arrays duplicates counting

尝试通过静态方法获取数组的唯一(非重复)数字。 例如,数组是{1,1,2,4,5,5,7,78,89} 输出为7。

public class UniqueNumbes {
    public static void main(String[] args) {
        int[] test = {1, 2, 4, 5, 10, 30, 20, 1};
        int num = numUnique(test);
        System.out.println(num);
    }
    public static int numUnique(int[] list){
        int count= 0;
        int fin =list.length;
        Arrays.sort(list);
        for (int i = 0; i<=list.length; i++){
            if(list[i]==list[i-1]) 
                count++;
            }
            return fin-count;
    }
}

1 个答案:

答案 0 :(得分:0)

将所有内容放入集合中并返回集合的大小。

import java.util.HashSet;
import java.util.Set;

public class UniqueNumbes {

    public static void main(String[] args) {
        int[] test = { 1, 2, 4, 5, 10, 30, 20, 1 };
        int num = numUnique(test);
        System.out.println(num);
    }

    public static int numUnique(int[] list) {
        // java.util.Set
        // "A collection that contains no duplicate elements." 
        Set<Integer> set = new HashSet<Integer>();
        for (int i = 0; i < list.length; i++) {
            set.add(list[i]);
        }
        return set.size();

    }
}