刷题专栏(二十三):4的幂

简介: 刷题专栏(二十三):4的幂

前言

刷题专栏到目前已经是第二十三篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天这道题,简直和上一题一模一样,3的幂和4的幂就是一样的逻辑。

参考上一天的解决思路,这道题我们也大概来看一下吧。Simage.png

算法题:4的幂

本道题的描述都和上一题差不多,只是将3换成了4。

我们也是可以使用同样的方法来处理。

一共就分为两个知识点,只要你能熟练使用这两个知识点,就能解出这道题来。

一、取余。

二、除法运算。

通过循环来不停的遍历传入的值。

在循环体中判断余数是否为0,如果为0则直接除以4,进入下一次循环。

如果不为0,则直接返回false,证明不是4的幂次方。

更详细的介绍可以去看看上一题的题解。

下面我们就来看看具体的代码实现吧。

代码展示

本次代码运行如下,其中还加入了上一题中的3的幂次方解决代码。

大家可以一起参考对比一下。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.isPowerOfThree(27));
        System.out.println(solution.isPowerOfFour(64));
    }
    public boolean isPowerOfThree(int n) {
        if(n == 0){
            return false;
        }
        while (n != 1){
            if(n % 3 != 0){
                return false;
            }
            n = n / 3;
        }
        return true;
    }
    public boolean isPowerOfFour(int n) {
        if(n == 0){
            return false;
        }
        while (n != 1){
            if(n % 4 != 0){
                return false;
            }
            n = n / 4;
        }
        return true;
    }
}

代码执行结果

我严重怀疑这道题解题的人不多,上一道题一样的思路排名很惨烈,这道题竟然这么快。

image.png

总结

今天这道题没什么可总结的,还是要看取余和除法的应用是否熟练。

不过在Java中也是存在一些工具方法的,应该能一步到位。

目录
相关文章
|
6月前
|
存储 编译器 C语言
牛客网刷题笔记小节(二)
牛客网刷题笔记小节(二)
|
6月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
183 2
|
6月前
|
存储 算法
刷题专栏(二十七): 找不同
刷题专栏(二十七): 找不同
124 2
|
6月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
121 0
|
6月前
|
算法
刷题专栏(十五):各位相加
刷题专栏(十五):各位相加
54 0
|
6月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
61 0
|
6月前
|
算法
刷题专栏(三):二进制求和
刷题专栏(三):二进制求和
69 0
|
6月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
106 0
|
存储 算法 NoSQL
python技术面试题(十六)--数据结构与算法
python技术面试题(十六)--数据结构与算法
|
存储 机器学习/深度学习 算法
算法刷题第十四天:位运算--2
代码实现中,每枚举一位就将 n 右移一位,这样当前 n 的最低位就是我们要枚举的比特位。当 n 为 0 时即可结束循环。
98 0
算法刷题第十四天:位运算--2