【LeetCode-简单题】367. 有效的完全平方数

文章目录

题目

方法一:二分查找

找 1 - num 之间的 mid, 开方是整数 就找得到 mid, 不是整数自然找不到mid

java 复制代码
class Solution {
// 二分查找  ;找 1 - num  之间的mid  开方是整数  就找得到  不是整数自然找不到
    public boolean isPerfectSquare(int num) {
        int res = serach(num);
        if(res == -1) return false;
        else return true;
         
    }
    // 二分查找
   public int serach(int num){
       int left = 1;
       int right =num;
       while(left <= right){
           int mid = left + (right - left)/2;
           if((long)mid * mid == num) {
               return mid;//找到整数了  说明num开方是整数
           }else if((long)mid * mid > num) right = mid -1;
           else  left = mid + 1;
       }
       return -1;
   }
}

相似的题目:【LeetCode-中等题】69. x 的平方根

相关推荐
king_linlin13 分钟前
数据结构——顺序表(附图文讲解|超详细)
c语言·数据结构·算法
GAOJ_K16 分钟前
老旧产线弧形导轨换新:同规格替换避坑选型思路
人工智能·算法·机器学习·制造·导轨偏磨
Jerry5 小时前
LeetCode 189. 轮转数组
算法
Jerry6 小时前
LeetCode 739. 每日温度
算法
2601_9545267510 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
叩码以求索11 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
谙弆悕博士12 小时前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理
c2385613 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa14 小时前
指针之总结
c语言·笔记·算法
宵时待雨14 小时前
优选算法专题9:哈希表
数据结构·算法·散列表