中国白客网vip钓鱼网站开发,交互设计考研院校,宣城 网站建设,安徽住房建设厅官网信息查询数组中有一个数字出现的次数超过数组长度的一半#xff0c;请找出这个数字。
你可以假设数组是非空的#xff0c;并且给定的数组总是存在多数元素。
示例 1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2限制#xff1a;
1 数组长度 50000class Solution {
pub…数组中有一个数字出现的次数超过数组长度的一半请找出这个数字。
你可以假设数组是非空的并且给定的数组总是存在多数元素。
示例 1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2限制
1 数组长度 50000class Solution {
public:int majorityElement(vectorint nums) {std::mapint, int nums_map;int res;for (const auto num: nums) {nums_map[num] 1;if (nums_map[num] nums.size()/2) {res num;break;}}return res;}
};投票法-python
class Solution:def majorityElement(self, nums: List[int]) - int:votes 0for num in nums:if votes 0: x numvotes 1 if num x else -1return x投票法-c
class Solution {
public:int majorityElement(vectorint nums) {int votes 0;int res;for (const auto num: nums) {if (0 votes) {res num;} if (num res) {votes ;} else {votes --;}}return res;}
};