计算,条件[5993] 将找到的值乘以 2

public class Solution {
    // 提前定义辅助数组大小
    private const int AUX_SIZE = 1001;
 
    public int FindFinalValue(int[] nums, int ori) {
      // 辅助数组
      int[] aux = new int[AUX_SIZE];
      
      // 记录nums中出现的值,如果出现则记为1
      for(int i = 0; i < nums.Length; i++){
        aux[nums[i]] = 1;
      }
      
      // 先判断是否存在,不存在则结束
      // 再计算下一次的值
      // 再判断是否超出范围
      do{
      
        if(aux[ori] != 1){
          return ori; 
        }
        
        ori <<= 1;
        
      }while(ori < AUX_SIZE);
      
      return ori;
    }
}

你可能感兴趣的:(数据结构与算法,蓝桥杯,算法,leetcode)