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

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

前言

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

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

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

目录
相关文章
|
机器学习/深度学习 负载均衡 数据可视化
性能比肩最强开源,QwQ-32B一键部署,百万Token免费送!
本文介绍如何通过百炼平台调用QwQ-32B开源模型。百炼平台提供的标准化 API 接口,免去了自行构建模型服务基础设施的麻烦,并支持负载均衡及自动扩缩容,确保了 API 调用的高稳定性。此外,结合使用 Chatbox 可视化界面客户端,用户无需进行命令行操作,即可通过直观的图形界面轻松完成 QwQ 模型的配置与使用。
|
Android开发
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
1345 0
【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL版 GDN:实现真正的全球异地多活
【7月更文第31天】随着全球化业务的发展,企业需要确保其数据库能够在不同地理位置之间提供一致的服务质量和高可用性。阿里云PolarDB MySQL版的全球数据库网络(GDN)功能为此类需求提供了一个理想的解决方案。本文将深入探讨PolarDB MySQL版在GDN下的表现,并通过实际场景评测其异地多活能力。
588 3
|
11月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课10 计算节点全毁, 灾难恢复
本文介绍了在PolarDB RAC一写多读集群中,当所有计算节点(主机)故障仅剩共享存储时的修复方法。实验基于Docker容器和loop设备模拟共享存储环境。通过重建计算节点、恢复PolarDB实例及配置相关参数,最终成功恢复RW和RO节点的功能,确保数据完整性和集群正常运行。视频回放可在B站和YouTube上查看。
261 0
|
XML 网络协议 安全
Nmap的使用
Nmap是一款开源的网络安全扫描工具,用于网络发现和安全审计。它能检测网络上的主机和服务,识别操作系统、开放端口、服务版本,并查找潜在的安全漏洞。Nmap支持多种扫描类型,如主机发现(-sn, -sP等)、端口扫描(-sS, -sT等)、服务和版本探测(-sV)以及操作系统检测(-O)。在使用时,要确保合法性和合规性,避免扫描未经授权的网络。常见参数如 `-oX` 用于输出XML报告,`-A` 选项则进行全面扫描。基础用法包括对单个IP、子网或文件中列出的IP进行扫描。注意,扫描可能消耗大量资源并应适时更新以保证准确性。
367 2
|
存储 数据管理 数据安全/隐私保护
云存储:云计算储存
云存储是基于互联网的分布式数据存储服务,允许用户远程存储、访问和管理数据。它通过多台虚拟服务器提供存储空间,支持多种服务模式如对象存储、块存储等,广泛应用于文件共享、数据备份、在线办公等领域,市场规模持续扩大,技术不断进步,未来将更加智能、安全和灵活。
5369 9
|
存储 消息中间件 NoSQL
Redis为什么会这么快?Redis到底有多快?【大厂经典面试题】
Redis为什么会这么快?Redis到底有多快?【大厂经典面试题】
1050 1
|
存储 双11 云计算
云计算的前世今生来世(一)
云计算历经四阶段:从大型机到个人电脑,再到互联网和云计算革命。它主要解决计算、网络、存储和应用问题。计算发展表现为“分合分”的模式:物理设备、虚拟化、云计算及容器化。如今,云计算已渗透到生活各个方面,包括工业、日常交易如双十一购物节,以及办公、社交应用等。技术路径涵盖IaaS(计算、网络、存储)和PaaS(应用)层面。
|
Java 关系型数据库 数据库连接
实时计算 Flink版操作报错之遇到错误org.apache.flink.table.api.ValidationException: Could not find any factory for identifier 'jdbc',该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
算法 搜索推荐 安全
C# | 上位机开发新手指南(八)加密算法——AES
AES——这是在加密算法中相当重要的一种加密方式! 虽然这个世界上已经存在了非对称加密算法(比如RSA、ECC等),但是在对称加密算法中,AES的地位依然相当重要。与非对称加密算法不同,对称加密算法使用的是相同的密钥对数据进行加密和解密,因此其加密和解密速度更快,而且更加高效。而在对称加密算法中,AES是目前最安全、最可靠的加密算法之一,其加密强度和运行效率都非常高。因此,无论是在个人计算机、移动设备,还是在服务器和云计算等领域,AES都被广泛应用于数据的加密和解密过程中。
803 0
C# | 上位机开发新手指南(八)加密算法——AES