Given an array of size n, find the majority element. The majority element is the element that appears more than⌊ n/2 ⌋
times.
You may assume that the array is non-empty and the majority element always exist in the array.
Example 1:
Input: [3,2,3] Output: 3
Example 2:
Input: [2,2,1,1,1,2,2] Output: 2
找到个数超过一半的数
思路:对数组排序, 如果nums[i]==nums[i+l/2] 则表示这个数是众数
1 #include<algorithm> 2 class Solution { 3 public: 4 int majorityElement(vector<int>& nums) { 5 sort(nums.begin(), nums.end()); 6 int l=nums.size(), flag=true, ans; 7 for(int i=0; i<=l/2 && flag; i++){ 8 if(nums[i+l/2]==nums[i]){ 9 flag=0; 10 ans=nums[i]; 11 } 12 } 13 return ans; 14 } 15 };