Leetcode problem-169 Majority Element 题解

Posted 北冥有鱼,南冥有猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 题解的主要内容,如果未能解决你的问题,请参考以下文章

RQNOJ 169 最小乘车费用:水dp

Majority Element II

glfwGetGLVersion 失败?

zedboard上首个驱动实践——Led

23.Linux-块设备驱动(详解)

LeetCode 解题目录汇总