首页 > 代码库 > 【leetcode】Majority Element (easy)(*^__^*)
【leetcode】Majority Element (easy)(*^__^*)
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.
思路:
找主要元素,用major记录主要字母,n记录major相对于其他字母多出现的次数
if n == 0 , 设当前数字为主要数字
else if 当前数字等于主要数字, n++
else 当前数字不等于主要数字, n--
因为主要数字出现多于一半,所以最后major表示的一定是主要数字。
没测试就一次AC了
class Solution {public: int majorityElement(vector<int> &num) { int major; int n = 0; for(int i = 0; i < num.size(); i++) { if(n == 0) { major = num[i]; n++; } else if(major == num[i]) { n++; } else { n--; } } return major; }};
【leetcode】Majority Element (easy)(*^__^*)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。