zoukankan      html  css  js  c++  java
  • 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.

    解决方案:Runtime: 229 ms

    public class Solution {
        //学习网上方法,每找出两个不同的,则成对删除,最后剩余的就是所求元素
        public int majorityElement(int[] num) {
            int count = 0;
            int maj = 0;
            for(int i = 0; i < num.length; i++){
                if(count == 0){
                    maj = num[i];
                    count++;
                }else{
                    if(maj == num[i]){
                        count ++;
                        if(count > num.length/2)
                            return maj;
                    }else{
                        count --;
                    }
                }
            }
            return maj;
        }
    }
    

     

    总结:这个方法是我从网上看到的,也是大部分人的做法,刚开始做没想到这个方法,还想着用数组去做,但是那样太复杂了。这个方法值得学习。

  • 相关阅读:
    vuex插件
    axios
    token登录验证
    mysql模糊查询
    Koa2+Mysql搭建简易博客
    正则匹配器
    编码
    Maven学习
    防止重复提交保证幂等的几种解决方案
    策略模式优化if-else
  • 原文地址:https://www.cnblogs.com/Pillar/p/4309065.html
Copyright © 2011-2022 走看看