【力扣2154】将找到的值乘以 2

在这里插入图片描述

  • 专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 座右铭:前路未远,步履不停

目录

  • 一、题目描述
  • 二、题目分析


一、题目描述

题目链接:将找到的值乘以 2

给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。接下来,你需要按下述步骤操作:如果在 nums 中找到 original ,将 original 乘以2,得到新 original(即,令 original = 2 * original)。否则,停止这一过程。只要能在数组中找到新 original ,就对新 original 继续重复这一过程。返回 original 的最终值。
【力扣2154】将找到的值乘以 2_第1张图片
目标是在给定的数组中搜索第一个等于original的数字,并不断将original乘以2,直到在数组中找不到新的original为止。最终返回最终的original值。

二、题目分析

这个问题可以通过简单的模拟来解决,当找到与original相等的元素时,我们就更新这个original的值,并继续遍历数组以查找下一个与新original相等的元素。这个过程会一直重复,直到在数组中找不到新的original为止。

class Solution {
    public int findFinalValue(int[] nums, int original) {
        int index = 0;
        while (index < nums.length) {
            if (nums[index] == original) { //(1)
                original *= 2;
                index = 0;
            } else {
                index++;  //(2)
            }
        }
        return original;
    }
}

(1)如果相等,将original的值乘以2,并将index重置为0,以便重新从数组的开头开始搜索。
(2)如果不相等,将index增加1,继续向后搜索。

你可能感兴趣的:(#,力扣笔记,leetcode,算法)