当前位置: 首页 > news >正文

有效的完全平方数

题目链接

有效的完全平方数

题目描述

注意点

  • 1 <= num <= 2^31 - 1

解答思路

  • 二分查找的思想,初始l = 1,r = num,对中间点mid求平方后判断其与num的关系。如果相等,则num是有效的完全平方数,返回true;如果小于num,则将l移至mid右侧;如果大于num,则将r移至mid左侧

代码

class Solution {
    public boolean isPerfectSquare(int num) {
        int l = 1;
        int r = num;
        while (l <= r) {
            int mid = l + ((r - l) >> 1);
            long square = (long) mid * mid;
            if (square == num) {
                return true;
            }
            if (square > num) {
                r = mid - 1; 
            } else {
                l = mid + 1;
            }
        }
        return false;
    }
}

关键点

  • 二分查找的思想
  • 注意整型越界问题

相关文章:

  • 基于微信小程序的竞赛报名系统设计与实现
  • 《C++ 构造、拷贝构造与析构函数:对象的诞生、克隆与消逝之旅》
  • x86寄存器(二):通用寄存器、指令指针寄存器和标志寄存器
  • 解决Selenium元素拖拽不生效Bug
  • open webui-二次开发-源码启动前后端工程-【超简洁步骤】
  • 利用MQ自动取消未支付超时订单最佳实践
  • 大模型最新面试题系列:训练篇之模型监控与调试
  • 静态时序分析:报告命令report_timing详解
  • C++中的.h文件一般是干什么的?
  • 数据结构–栈
  • Python中的常用库
  • RMAN备份bug-审计日志暴涨(select action from gv$session)
  • Qt添加MySql数据库驱动
  • PromQL计算gateway指标增量最佳实践及常见问题答疑
  • vue3基本功
  • Unity 小功能
  • CMD命令大全
  • 算阶,jdk和idea的安装
  • 最近逐笔成交
  • 【折线图 Line】——21
  • 菲律宾华人“钢铁大王”撕票案两主谋被捕,部分赎金已被提取
  • 家国万里·时光故事会|从徐光启到徐家汇,一颗甘薯里的家国
  • 讲述“外国货币上的中国故事”,《世界钱币上的中国印记》主题书刊出版发布
  • 秦洪看盘|小市值股领涨,A股交易情绪复苏
  • 海南乐城管理局原局长贾宁已赴省政协工作,曾从河南跨省任职
  • 上海发文加强直播经济技能人才培养:三年新培养持证直播技能人才5万名