#LeetCode:169. Majority Element

灆洢 2020-05-06 17:21:00

此題要找出陣列中,數值個數佔陣列長度一半以上的數值是多少。

由於數值個數超過陣列長度一半以上,故該數值的個數必定會是陣列中最多的數值。先利用陣列求出每個數值在陣列中佔多少個數的表,接著找表中個數最多的數值是誰即可。

Kotlin(228ms)

/*******************************************************
 * LeetCode 169. Majority Element                      *
 * Author: Maplewing [at] knightzone.studio            *
 * Version: 2020/05/06                                 *
 *******************************************************/
class Solution {
    fun majorityElement(nums: IntArray): Int =
        nums.groupBy({ it }).maxBy({ it.value.size })!!.key
}

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料