leetcode:169. Majority Element

169. Majority Element

Description

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

Answer

package main

import "fmt"

func majorityElement(nums []int) int {

    majorityMap := make(map[int]int)
    for _, val := range nums {
        _, ok := majorityMap[val]
        if ok {
            majorityMap[val]++
            continue
        } else {
            majorityMap[val] = 1
        }

    }
    temp := 0
    result := 0
    for key, val := range majorityMap {
        if val >= temp {
            temp = val
            result = key
        }
    }
    return result
}

func main() {
    arr := []int{3, 2, 3}
    fmt.Println(majorityElement(arr))

}



你可能感兴趣的:(leetcode:169. Majority Element)