LeetCode刷题笔记-求众数

一、题目描述
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

输入: [3,2,3]
输出: 3

示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2
二、解题思路
三种正常思路解法,

贪心算法,O(n) 给遇到的数计数, 相同+1 不同-1, 为0的时候换新数
排序,O(nlogn)
排序优化, O(nlogn) 只利用快排的partition思想,会比排序好一些,这里题中肯定存在,排序完了中间的数就是。
其他的啥hashSet, 暴力计数,不太好, 不说了
三、代码实现
LeetCode刷题笔记-求众数
LeetCode刷题笔记-求众数