1.题目描述
给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。
接下来,你需要按下述步骤操作:
如果在 nums 中找到 original ,将 original 乘以 2 ,得到新 original(即,令 original = 2 * original)。
否则,停止这一过程。
只要能在数组中找到新 original ,就对新 original 继续 重复 这一过程。
返回 original 的 最终 值。
2.思路
初始时,flag 被设置为 true,以便进入 while 循环。
在每次循环中,flag 被设置为 false,然后遍历数组 nums。
如果在 nums 中找到与 original 相等的值,original 被翻倍,flag 被设置为 true,循环继续。
如果在 nums 中找不到与 original 相等的值,flag 保持为 false,循环结束,返回最终的 original 值。
3.代码实现
class Solution {public int findFinalValue(int[] nums, int original) {boolean flag=true;while(flag){flag=false;for(int i=0;i<nums.length;i++){if(original==nums[i]){original=original*2;flag=true;break;}}}return original;}
}