【力扣热题100】—— Day20.多数元素
如果你的心里埋下了一颗争气的种子,那么努力就成为了必修课
—— 25.1.9
169. 多数元素
给定一个大小为
n
的数组nums
,返回其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋
的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入:nums = [3,2,3] 输出:3示例 2:
输入:nums = [2,2,1,1,1,2,2] 输出:2提示:
n == nums.length
1 <= n <= 5 * 104
-109 <= nums[i] <= 109
方法一 排序法
思路与算法
因为传入的是一个数组/列表,且数组非空,数组总是存在多数元素,所以我们只需要将数组进行排序,然后找到数组长度一半索引的位置的元素,即为多数元素,将其返回
排序可以使用封装好的方法,在 Java 中, Arrays.sort()方法是用于对数组进行排序的常用方法。对于基本数据类型数组,它会按照自然顺序进行排序。此方法将会修改原数组,使原数组由小到大进行排序
在Python中,使用sorted()函数,sorted()是 Python 内置的排序函数,它可以对任何可迭代对象(如列表、元组、字符串等)进行排序,并返回一个新的已排序的对象,原对象不变。对于列表,它会按照元素的自然顺序进行排序。
Java实现
class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);
int n = nums.length;
return nums[n/2];
}
}
Python实现
class Solution:
def majorityElement(self, nums: List[int]) -> int:
n = len(nums)
newNums = sorted(nums)
return newNums[n//2]