Back

配列の重複確認には Set を使うのが最速

配列の重複確認には Set を使うのが最速

アルゴリズムを勉強するために LeetCode を始めた。日々の業務でも使えそうな知識をメモ。

ワイのコード

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var containsDuplicate = function(nums) {
    const sorted = nums.sort()
    while(sorted.length > 0) {
        const n = sorted.shift()
        if (sorted[0] === n) return true
    }
    return false
};

最速の人のコード

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var containsDuplicate = function(nums) {
    let set = new Set()

    for(let num of nums){

        if(set.has(num))  return true
        set.add(num)
    }

    return false
};

参考