LeetCode简单题之将找到的值乘以2
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之将找到的值乘以2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給你一個整數數組 nums ,另給你一個整數 original ,這是需要在 nums 中搜索的第一個數字。
接下來,你需要按下述步驟操作:
如果在 nums 中找到 original ,將 original 乘以 2 ,得到新 original(即,令 original = 2 * original)。
否則,停止這一過程。
只要能在數組中找到新 original ,就對新 original 繼續 重復 這一過程。
返回 original 的 最終 值。
示例 1:
輸入:nums = [5,3,6,1,12], original = 3
輸出:24
解釋:
- 3 能在 nums 中找到。3 * 2 = 6 。
- 6 能在 nums 中找到。6 * 2 = 12 。
- 12 能在 nums 中找到。12 * 2 = 24 。
- 24 不能在 nums 中找到。因此,返回 24 。
示例 2:
輸入:nums = [2,7,9], original = 4
輸出:4
解釋: - 4 不能在 nums 中找到。因此,返回 4 。
提示:
1 <= nums.length <= 1000
1 <= nums[i], original <= 1000
來源:力扣(LeetCode)
解題思路
??非常簡單的一道題,這種題目需要保證0不在nums中。基本的思路就是將原數組進行哈希映射,以便在后續的查找中提高效率。重復查找目標值是否在集合中,并且更新目標值,如果查找不到即可返回結果。
class Solution:def findFinalValue(self, nums: List[int], original: int) -> int:nums=set(nums)while original in nums:original*=2return original
總結
以上是生活随笔為你收集整理的LeetCode简单题之将找到的值乘以2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之数组中第 K 个
- 下一篇: LeetCode简单题之唯一元素的和