变量简洁正确完整思路 随机找一个数0-n-1的下标i,计数nums[i]是否超过一半 class Solution { public: int majorityElement(vector<int>& nums) { while(1){ int i=rand()%nums.size(); int count=0; for(int num:nums){ if(num==nums[i])count++; } if(count>nums.size()/2)return nums[i]; } } }; 变量简洁正确完整思路 投票法(不同国家士兵以一抵一除了自己人都可以杀,最后剩下的就是众数) ,国家country初始-1,士兵count初始0,正向,遇到不同国家num则count--, 如果count<0则country被取代为num,遇到相同国家num则count++ class Solution { public: int majorityElement(vector<int>& nums) { int country=-1,count=0; for(int num:nums){ if(num!=country){ --count; if(count==-1)country=num,count=0; }else ++count; } return country; } };