题目:2154.将找到的值乘以 2

​​题目来源:

        leetcode题目,网址:2148. 元素计数 - 力扣(LeetCode)

解题思路:

        首先将数组中元素加入哈希表,然后循环判断 original*(2^n) (n=0,1,2,3......)是否在哈希表中即可。

解题代码:

class Solution {
    public int findFinalValue(int[] nums, int original) {
        Set set=new HashSet<>();
        for(int num:nums){
            if(num==original){
                original=original*2;
                while(set.contains(original)){
                    original=original*2;
                }
            }else{
                if(num%original==0)
                    set.add(num);
            }
        }
        return original;
    }
}

总结:

        官方题解是先升序排序,在遍历查找。


你可能感兴趣的:(#,Java,leetcode,java)