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

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

前言

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

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

没什么好说的,接下来就让我们一起来看一下吧。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自带方法来解决问题,暴力循环很不提倡。

目录
相关文章
|
4月前
|
存储 算法 Python
【面试题】N皇后
【面试题】N皇后
18 0
|
7月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
125 0
|
7月前
|
算法
刷题专栏(十五):各位相加
刷题专栏(十五):各位相加
57 0
|
7月前
|
算法 Java
刷题专栏(二十三):4的幂
刷题专栏(二十三):4的幂
103 0
|
7月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
63 0
|
机器学习/深度学习 人工智能 C++
C/C++之(三)洛谷刷题基础 上
C/C++之(三)洛谷刷题基础 上
270 0
C/C++之(三)洛谷刷题基础 上
|
机器学习/深度学习 C++
C/C++之(四)洛谷刷题基础
C/C++之(四)洛谷刷题基础
849 0
C/C++之(四)洛谷刷题基础
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数
95 0
#yyds干货盘点# 前端歌谣的刷题之路-第九十五题-判断质数
|
机器学习/深度学习 C++
C/C++之(二)洛谷刷题基础 下
C/C++之(二)洛谷刷题基础 下
518 0