1. 程式人生 > >LeetCode169:Majority Element

LeetCode169: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

LeetCode:連結

劍指Offer_程式設計題28:陣列中出現次數超過一半的數字是一樣的。

class Solution(object):
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        ans = nums[0]
        count = 1
        for i in range(1, len(nums)):
            if nums[i] == ans:
                count += 1
            else:
                count -= 1
                if count == 0:
                    ans = nums[i]
                    count = 1
        count = 0
        for i in range(len(nums)):
            if nums[i] == ans:
                count += 1

        return ans if count > len(nums)/2.0 else 0