题解 | #数组中出现次数超过一半的数字#

数组中出现次数超过一半的数字

https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163

class Solution {
    public int MoreThanHalfNum_Solution(int [] array) {
        QuickSort(array, array.length - 1);
        int Record = 1;
        int i = 0;
        for (; i < array.length - 1; i++) {
            if (array[i] == array[i + 1]) {
                Record++;
                if (Record > array.length / 2) {
                    break;
                }
            } else {
                Record = 1;
            }
        }
        return array[i];
    }

    public int[] QuickSort(int[] e, int a) {
        for (int i = 0; i < a; i++) {
            if (e[i] > e[a]) {
                int Delta = e[i];
                e[i] = e[a];
                e[a] = Delta;
            }
        }
        if (a == 0) {
            return null;
        }
        return QuickSort(e, a - 1);
    }
}

#数组中出现次数超过一半的数字#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务