如何在数组中找到数字的模式?

时间:2017-12-17 21:39:36

标签: java arrays mode

如果这个问题是重复的,我很抱歉,但我正在尝试找到数组的模式。此方法将整数数组作为输入,并返回作为数组模式的整数。以下是我的代码:

public static int mode(int[] abc) {
        int count = 1;
        int number = 0;
        int finalCount = 0;
        int finalNum = 0;
        for(int i = 0; i < abc.length; i++) {
            int j = 0;
            for(int k = i + j; k < abc.length; j++) {
                int x = abc[i];
                if(x == abc[k]) {
                    number = x;
                    count++;
                }
            }
            if(count > finalCount) {
                finalCount = count;
                finalNum = number;
            }else if(count == finalCount && count > 0 && i != abc.length - 1) {
                if(finalNum > number) {
                    finalNum = number;
                }
            }else if(count == finalCount && count == 0 && i == abc.length - 1) {
                for(int l = 0; l < abc.length - 1; l++) {
                    int m = abc[0];
                    if(m > abc[l + 1]) {
                        finalNum = abc[l + 1];
                    }else {
                        finalNum = m;
                    }
                }
            }
        }
        return finalNum;
    }

显然,这个方法说它需要返回int类型的结果。但是如果我已经将finalNum(应该是模式)返回,那为什么它会给我这个错误呢?

0 个答案:

没有答案