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 };

 

posted @ 2018-06-23 20:51  赖兴宇  阅读(141)  评论(0)    收藏  举报