C/C++---------------LeetCode第2154. 将找到的值乘以 2

将找到的值乘以 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

哈希表

思路:将nums全部存入hash,查找original,找到了就*2,直到找不到original

class Solution {
   
public:
    int findFinalValue(vector<int>& nums, int original) {
   
    unordered_set<int>hash(nums.begin(),nums.end());
      while(hash.count(original)){
   
          original*=2;
      }
      return original;
    }
};

递归

思路:循环,调用 findFinalValue 函数递归地查找更新,直到 original 不再出现在 nums 中为止。

class Solution {
   
public:
    int findFinalValue(vector<int>& nums, int original) {
   
    int n=nums.size();
    for(int i=0;i<n;++i){
   
        if(original==nums[i]){
   
            original*=2;
            original=findFinalValue(nums,original);
          }
        }
        return original;
    }
};

相关推荐

  1. C/C++---------------LeetCode2154. 找到 2

    2023-12-07 12:06:02       43 阅读
  2. [leetcode] 2269. 找到一个数字 K 美丽

    2023-12-07 12:06:02       6 阅读
  3. leetcode-215-数组中K个最大元素

    2023-12-07 12:06:02       30 阅读
  4. LeetCode215. 数组中K个最大元素

    2023-12-07 12:06:02       16 阅读
  5. LeetCode-热题100:215. 数组中K个最大元素

    2023-12-07 12:06:02       14 阅读
  6. Leetcode215_数组中K个最大元素

    2023-12-07 12:06:02       19 阅读
  7. CV2不同图像插方式区别

    2023-12-07 12:06:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 12:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 12:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 12:06:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 12:06:02       20 阅读

热门阅读

  1. Scala--2

    2023-12-07 12:06:02       39 阅读
  2. 产品运营常用的ChatGPT通用提示词模板

    2023-12-07 12:06:02       48 阅读
  3. React 表单组件实现

    2023-12-07 12:06:02       41 阅读
  4. 五花八门客户问题(BUG) - 数据库索引损坏

    2023-12-07 12:06:02       47 阅读
  5. Metasploit的安全防御和逃逸

    2023-12-07 12:06:02       26 阅读
  6. SELinux refpolicy详解(9)

    2023-12-07 12:06:02       55 阅读
  7. Metasploit的漏洞挖掘和利用

    2023-12-07 12:06:02       26 阅读
  8. 详解ES6中的symbol

    2023-12-07 12:06:02       31 阅读
  9. Shopify 开源 WebAssembly 工具链 Ruvy

    2023-12-07 12:06:02       36 阅读
  10. Qt对象树与所有权管理

    2023-12-07 12:06:02       40 阅读
  11. 51单片机程序

    2023-12-07 12:06:02       36 阅读
  12. uniapp-获取手机型号

    2023-12-07 12:06:02       39 阅读
  13. 网页产品经理常用的ChatGPT通用提示词模板

    2023-12-07 12:06:02       48 阅读