一:题目

二:思路

完全平方数:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数
思路:1.我们将num先折半,因为它是某个整数的平方,而这个数的范围肯定不会超过num的一半
2.那么这就相当于在[left,num/2]中查找某个数,其的平方正好可以是num

三:上码

class Solution {public:/**完全平方数:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数思路:1.我们将num先折半,因为它是某个整数的平方,而这个数的范围肯定不会超过num的一半2.那么这就相当于在[left,num/2]中查找某个数,其的平方正好可以是num*/bool isPerfectSquare(int num) { if(num == 1)return 1;int left = 0;int right = num/2;while(left <= right){long mid =(long) (left+right)/2;long square =(long) mid * mid;if(square < num){left = mid + 1;}else if(square > num){right = mid - 1;}else{return true;}}return false;}
};

菜鸡杰又水了一道,感觉二分法挺有意思 查找效率虽然不高,但至少提供了一种思路,这道题刚做差点暴力枚举,但毕竟是二分法的练习题嘛 加油 素昧谋面的你!!!

367. 有效的完全平方数(二分法)相关推荐

  1. 367. 有效的完全平方数

    367. 有效的完全平方数 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false . 进阶:不要 使用任何内置的库函数,如 sqrt . ...

  2. 367.有效的完全平方数

    367.有效的完全平方数 方法一:使用内置的库函数 class Solution {public boolean isPerfectSquare(int num) {int x = (int) Mat ...

  3. leetcode系列--367.有效的完全平方数

    leetcode系列–第367题.有效的完全平方数 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false .进阶:不要 使用任何内置的库函 ...

  4. LeetCode 367. 有效的完全平方数(二分查找)

    1. 题目 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False. 说明:不要使用任何内置的库函数,如 sqrt. 示例 1: 输入:16 输出 ...

  5. 【leetcode刷题记录】367有效的完全平方数

    class Solution {public boolean isPerfectSquare(int num) {int l = 0, r = num, mid = 0;while(l <= r ...

  6. 【代码随想录】二刷-数组

    数组 <代码随想录> 二分查找 704. 二分查找 方法1 注意: 边界控制. 前提是有序数组. 循环控制 解释: 这里使用我最好理解的一种方式. 使用mid控制下标访问,nums[mid ...

  7. 力扣刷题记录---二分法

    一般的二分查找应用的地方都是在一个单调有序序列里面进行值的搜索,,用中间点进行区域划分,当中间值大于目标值target,说明目标值在左区域,反之则在右区域.这样不断缩小区域,每次搜索区域都只要当前范围 ...

  8. problem k: 查找某一个数_quot;细节魔鬼quot; 二分查找

    ❝ 二分查找,是一个高效,实用,且易理解的一个查找算法, 通常时间复杂度为O(lgn).局限性在于,待查找对象必须为有序的数组:数据量过小,优势不明显,数据量过大,数组大小受限于内存. 除此之外,二分 ...

  9. 【LeetCode 总结】Leetcode 题型分类总结、索引与常用接口函数

    文章目录 零. Java 常用接口函数 一. 动态规划 二. 链表 三. 哈希表 四. 滑动窗口 五. 字符串 六. DFS.BFS 七. 二分法 八. 二叉树 九. 偏数学.过目不忘 and 原地算 ...

最新文章

  1. 呵呵,又在这里开了个博客,现在已经有好几个了
  2. 实时获取vuex更新的新数据_京东手机销量实时数据更新 荣耀Play4T Pro位列第一
  3. 再次分享一个多选文件上传方案
  4. echarts bar 控制大小_echarts基本配置参数
  5. 【转】win7 32位安装oracle10g步骤
  6. springboot 上传文件解析入库_十五分钟用Spring Boot实现文件上传功能
  7. 信息论和贝叶斯(或许会继续补充)
  8. 2.企业应用架构模式 --- 组织领域逻辑
  9. 【码云周刊第 8 期】面试之前,或许该高效率地学点干货了!
  10. 大数据平台整体架构设计方案(PPT)
  11. 中国湿地沼泽分类分布/自然保护区分布
  12. ipmitool 远程操作BMC控制服务器
  13. 1×pbs缓冲液配方_pbs配方_1xpbs配方_pbs缓冲液配制
  14. 自动连上dns服务器啥意思,自动分配DNS服务器和手动设置有什么区别
  15. 如何用u盘装xp系统教程
  16. 计算一元二次方程的解
  17. HNU计算机系统lab3
  18. RT-Thread 4.1.0 开启 PM 电源管理框架
  19. 联发科 MTK6765 八核安卓核心板主板定制方案
  20. linux查看日志文件内容命令tail、cat、tac、head、echo

热门文章

  1. ASP.NET Core 中文文档 第一章 入门
  2. django19:项目开发流程
  3. git-ftp Can't access remote 'ft://...', exiting...问题记录
  4. php类精确验证身份证号码
  5. 【ArcGIS Pro微课1000例】0010:ArcGIS Pro导入ArcMap样式符号库——以国土三调样式为例
  6. SQL Server 2005 cmd工具的使用
  7. C#创建桌面快捷方式
  8. Android之提示This version of Android Studio cannot open this project, please retry with Android Studio
  9. 基于文本知识库的强化学习技术——Learning to Win by Reading Manuals in a Monte-Carlo Framework
  10. hutol json null值没了_JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法...