目录
这道题有 5 种方法,8 种实现,详细分析可以看花花酱的 YouTube 专栏。

描述
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于
⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。
示例 1:
输入: [3,2,3] 输出: 3示例 2:
输入: [2,2,1,1,1,2,2] 输出: 2解法一:暴力法
思路
遍历数组中的每个元素,统计该元素出现的次数(嵌套遍历),如果该元素出现的次数 ,则该元素就是数组的众数。
Java 实现
class Solution { public int majorityElement(int[] nums) { int majorityCount = nums.length / 2; for (int num1 : nums) { int count = 0; for (int num2 : nums) { if (num2 == num1) { ++count; } } if (count > majorityCount) { return num1; } } throw new IllegalArgumentException("The array does not contain a majority element!"); } }Python 实现
