leetcode 169. Majority Element

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 };
有疑惑或者更好的解决方法的朋友,可以联系我,大家一起探讨。qq:1546431565
原文地址:https://www.cnblogs.com/mr-stn/p/9218839.html