zoukankan      html  css  js  c++  java
  • 169. Majority Element (solution 2)

    package LeetCode_169
    
    /**
     * 169. Majority Element
     * https://leetcode.com/problems/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.
    Example 1:
    Input: [3,2,3]
    Output: 3
    
    Example 2:
    Input: [2,2,1,1,1,2,2]
    Output: 2
     * */
    class Solution {
        /*
        * solution 1: HashMap, Time:O(n), Space:O(n);
        * solution 2: Moore Vote, Time:O(n), Space:O(1),
        * */
        fun majorityElement(nums: IntArray): Int {
           /*
            solution 2:
            https://www.cs.utexas.edu/~moore/best-ideas/mjrty/index.html,
            https://www.cnblogs.com/grandyang/p/4233501.html;
             */
            var result = 0
            var count = 0
            for (num in nums) {
                if (count == 0) {
                    result = num
                    count++
                } else if (num == result) {
                    count++
                } else {
                    count--
                }
            }
            return result
        }
    }
  • 相关阅读:
    【javascript】select操作实例
    【javascript】函数
    【javascript】一些资料
    【javascript】操作符:一元操作符
    动态执行Sql
    索引( index )
    事务
    用户相关
    视图(view)
    函数(function)
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/14152227.html
Copyright © 2011-2022 走看看