您的位置:首页 > 财经 > 金融 > 北京网络运营推广团队_短网址生成器手机版_网站链接分析工具_唐山seo排名

北京网络运营推广团队_短网址生成器手机版_网站链接分析工具_唐山seo排名

2025/4/2 18:32:26 来源:https://blog.csdn.net/weixin_41554427/article/details/146886882  浏览:    关键词:北京网络运营推广团队_短网址生成器手机版_网站链接分析工具_唐山seo排名
北京网络运营推广团队_短网址生成器手机版_网站链接分析工具_唐山seo排名

这道题虽然简单,但适合用来练习各种解法。

用哈希表解决

class Solution {
public:int majorityElement(vector<int>& nums) {unordered_map<int,int> count;int majority = 0;int cnt = 0;for(auto num:nums){count[num]++;if(count[num] > cnt){cnt = count[num];majority = num;}}return majority;}
};

先排序再取nums[n/2]

class Solution {
public:int majorityElement(vector<int>& nums) {int len = nums.size();srand(time(0));quick_sort(nums,0,len-1);return nums[len/2];}int partition(vector<int>& nums,int left,int right){if(left >= right)return left;int random = rand()%(right - left +1);swap(nums[left],nums[left + random]);int pivot = nums[left];while(left < right){while(left<right && pivot < nums[right]) right--;nums[left] = nums[right];  while(left<right && nums[left]<=pivot) left++;nums[right] = nums[left];}nums[left] = pivot;return left;}void quick_sort(vector<int>& nums,int left,int right){if(left>=right) return;int pivot_pos = partition(nums,left,right);quick_sort(nums,left,pivot_pos-1);quick_sort(nums,pivot_pos+1,right);}
};

随机化方法

class Solution {
public:int majorityElement(vector<int>& nums) {srand(0);int len = nums.size();int random = 0; int cnt = 0;while(true){random = rand()%len;cnt = 0;for(auto num:nums){if(num == nums[random]){cnt++;if(cnt >len/2)return num;}}}}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com