LeetCode2154. 将找到的值乘以2
2154. 将找到的值乘以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 <= 10001 <= nums[i], original <= 1000
思路:
解法一:排序+顺序遍历
解法二:HashSet + if: set::contains(original) -> original*=2;
代码:
1 | class Solution { |
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 GoofySatoshi's Blog!
评论
