首页 > 代码库 > Leetcode problem-169 Majority Element 题解
Leetcode problem-169 Majority Element 题解
Leetcode Problem-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.
题解:题目已经肯定主元素一定存在,且出现次数大于n/2,数组又假定已经非空。采用分治法,每找到两个不同的元素,则成对删除,最终剩下的一定就是所求的。
class Solution { public: int majorityElement(vector<int>& nums) { int most = 0; int cnt = 0; for(int i=0;i<nums.size();i++) { if(cnt==0) { most=nums[i]; cnt++; } else { if(nums[i]==most) { cnt++; } else { cnt--; } }
} return most; } }; |
Leetcode problem-169 Majority Element 题解