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

算法-判断是否是完全有效平方数-二分法查找

给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。

完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。

不能使用任何内置的库函数,如  sqrt 。

示例 1:

输入:num = 16
输出:true
解释:返回 true ,因为 4 * 4 = 16 且 4 是一个整数。

示例 2:

输入:num = 14
输出:false
解释:返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。

提示:

  • 1 <= num <= 2^31 - 1
class Solution {
  public static boolean isPerfectSquare(int num) {
        //循环太慢,二分法
        long right=num;
        long left=1;
        while (left<=right)
        {   long mid=(left+right)/2;
            if(mid*mid>num)
            {//向左移动
                right=mid-1;
            }else if(mid*mid<num)
            {//向右移动
                left=mid+1;
            } else if (mid * mid == num) {
                return true;
            }
        }

        return false;
    }

}

 


http://www.kler.cn/a/467519.html

相关文章:

  • 【three.js】场景搭建
  • 基于Spring Boot的车辆违章信息管理系统(LW+源码+讲解)
  • AlphaPi相关硬件驱动提取
  • 比Qt更适合小公司的C++界面开发框架wxWidgets
  • Vue2中使用Echarts
  • 打造三甲医院人工智能矩阵新引擎(一):文本大模型篇--基于GPT-4o的探索
  • 黑马跟学.苍穹外卖.Day01
  • HTML5新特性|06 文本效果text-shadowword-wrap自定义字体
  • PyTorch不同优化器比较
  • 自动生成RESTful API——Spring Data Rest
  • C# 内置值类型
  • 基于Spring Boot的紧急物资管理系统
  • ARP攻击的原理和实现 (网络安全)
  • C#调用Lua
  • 监控易:确保统一运维管理平台长期稳定高效运行
  • 计算机网络基础(7)中科大郑铨老师笔记
  • 机器人领域的一些仿真器
  • 基于YOLOv8的道路缺陷检测系统
  • 【Golang 面试题】每日 3 题(十五)
  • 【Motion Builder】配置c++插件开发环境
  • 【赵渝强老师】MongoDB写入数据的过程
  • 【redisson】redisson分布式锁原理分析
  • 【深度学习】交叉熵:从理论到实践
  • 专业140+总分400+中国海洋大学819信号与系统考研综合考研经验中海大电子信息与通信工程,真题,。大纲,参考书。
  • 【go类库分享】go rate 原生标准限速库
  • 旷视科技Java面试题及参考答案