👏

100日アルゴリズム[19日目・多数派の要素]

2025/01/27に公開

解いた問題

https://leetcode.com/problems/majority-element/description/

解法

数と要素数のmapにする方法を思いつき、以下で解きました。
一番要素数が大きいものが多数派であるという前提で作ってしまっています。

function majorityElement(nums: number[]): number {
    let scoresMap:Map<number, number>  = new Map;

    for(let i = 0; i < nums.length; i++) {
        scoresMap.set(nums[i], (scoresMap.get(nums[i]) || 0)+1)
    }
    
    const maxElements = Math.max(...scoresMap.values());
    const maxKey = Array.from(scoresMap).find(([key, value]) => value === maxElements);
    return maxKey[0];
};

Discussion