刷题专栏(二十五):有效的完全平方数

简介: 刷题专栏(二十五):有效的完全平方数

前言

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

今天的这道题,是关于数学概念的一道题。

没什么好说的,接下来就让我们一起来看一下吧。image.png

算法题:有效的完全平方数

从这道题的题目描述来看,就知道是要判断一个数字是否能开平方。

有了这个预期结果,我们就能去写代码了。

那么代码的逻辑又如何写呢,首先要抓住这个开方的概念。

传入的参数值,需要两个相同的数字相乘才能算是可以开方。

所以我们可以通过暴力循环的方式来不停的从1乘1开始,直到乘到与传入参数值相符时,就可以得到是否可以开方了。

或者乘到超出传入参数值的时候,这个时候就判断出传入参数值是不能开方的。

下面看一下具体的代码编写。

代码展示

代码如下所示:

使用的就是暴力循环的方法,大家可以自行试一下。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.isPerfectSquare(16));
    }
    public boolean isPerfectSquare(int num) {
        long x = 1, z = 1;
        while (z <= num) {
            if (z == num) {
                return true;
            }
            ++x;
            z = x * x;
        }
        return false;
    }
}

代码执行结果

果然暴力没有好结果,暴力循环导致排名如此差劲。

image.png使用了Java中的内置方法试了试。真是性能碾压暴力循环。

class Solution {
    public boolean isPerfectSquare(int num) {
        int x = (int) Math.sqrt(num);
        return x * x == num;
    }
}

image.png

总结

就是小学数学的概念,这要是不会就有点过分了,不过还是推荐使用Java自带方法来解决问题,暴力循环很不提倡。

目录
相关文章
|
9月前
|
算法 Java
刷题专栏(二十三):4的幂
刷题专栏(二十三):4的幂
110 0
|
9月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
134 0
|
9月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
72 0
|
9月前
|
算法
刷题专栏(十五):各位相加
刷题专栏(十五):各位相加
65 0
|
人工智能 算法 机器人
迷宫问题(C语言实现)(牛客网百度笔试真题)
迷宫问题(C语言实现)(牛客网百度笔试真题)
354 0
|
算法
牛客网《剑指offer》专栏刷题练习之双指针算法的使用
牛客网《剑指offer》专栏刷题练习之双指针算法的使用
118 0
|
9月前
|
机器学习/深度学习 算法
六六力扣刷题双指针之三数之和
六六力扣刷题双指针之三数之和
72 0
|
机器学习/深度学习
牛客网练习题(函数部分)
牛客网练习题(函数部分)
105 0
|
Java Python
【LeetCode每日一题】剑指 Offer 17. 打印从1到最大的n位数(持续更新)
【LeetCode每日一题】剑指 Offer 17. 打印从1到最大的n位数(持续更新)
114 0

热门文章

最新文章