2154. Keep Multiplying Found Values by Two

Leetcode link

题目简介

/**
 * @param {number[]} nums
 * @param {number} original
 * @return {number}
 */

题目给我们一个数字数组 nums 以及一个数字 original

我们需要在 nums 中出现 original 的时候将 original *= 2 直到数组中不再出现 original

题目要求我们返回此时的 original

解题思路

我们可以用一个 set 来保存 nums 的所有数字,这样一来每次查询的复杂度是 O(1)

Javascript

/**
 * @param {number[]} nums
 * @param {number} original
 * @return {number}
 */
var findFinalValue = function (nums, original) {
    const set = new Set(nums)

    while (set.has(original)) {
        original *= 2
    }

    return original
};

results matching ""

    No results matching ""