刷题专栏(二十三):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中也是存在一些工具方法的,应该能一步到位。

目录
相关文章
|
1月前
|
存储 编译器 C语言
牛客网刷题笔记小节(二)
牛客网刷题笔记小节(二)
|
5月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
98 0
|
5月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
117 2
|
5月前
|
算法
刷题专栏(十五):各位相加
刷题专栏(十五):各位相加
33 0
|
5月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
34 0
|
5月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
87 0
|
5月前
|
存储 算法
刷题专栏(二十七): 找不同
刷题专栏(二十七): 找不同
96 2
|
5月前
|
算法
刷题专栏(十二):翻转二叉树
刷题专栏(十二):翻转二叉树
39 0
|
8月前
|
存储 算法 NoSQL
python技术面试题(十六)--数据结构与算法
python技术面试题(十六)--数据结构与算法
|
11月前
|
算法 程序员 C++
编程艺术 - 第一章 左旋转字符串
编程艺术 - 第一章 左旋转字符串
43 0