zoukankan      html  css  js  c++  java
  • LeetCode | Majority Element

    Majority Element

     Total Accepted: 40685 Total Submissions: 116905My Submissions

    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.

    Credits:
    Special thanks to @ts for adding this problem and creating all test cases.

    Show Tags
    Have you met this question in a real interview? 
    Yes
     
    No  
    Discuss


    解题思路:将容器中的元素排序,遇见相同的数选择计数,如果>n/2了即退出,遇见不同的数对temp值进行更新,继续计数。

    实现代码:

    class Solution {
    public:
        int majorityElement(vector<int>& nums) {
            int apa=nums.size()/2;
            sort(nums.begin(),nums.end() );  //对容器里元素进行排序
            vector<int>::iterator p=nums.begin();
            int temp=*p,cnt=0;
            for(;p!=nums.end();p++){
                if(*p==temp)
                {
                    cnt++;
                    if(cnt>apa)
                    {
                         return temp;
                    }
                }
                if(*p!=temp)
                {
                   temp=*p;
                   cnt=1;
                }
            }
        }
    };

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Table的基本操作
    MySQL数据库基本操作
    jmeter中服务器返回的cookies的查看
    jemeter的乱码问题
    cucumber的报告
    Cucumber的依赖
    idea里maven执行插件pom文件依赖设置
    Tomcat和jenkins的安装
    maven配置
    Ajax必知必会
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965325.html
Copyright © 2011-2022 走看看