文章目录

  • 题目描述
  • 思路 & 代码
    • 更新版

题目描述

  • 本质:找满足 k * k <= x 的最大 k

思路 & 代码

  • 二分,对满足 k * k <= x 的最大 k进行查找。
  • 注意极端数据,用 long
  • 暴力法先来一个
class Solution {public int mySqrt(int x) {int ans = -1;for(int i = 0; i <= x; i++){if((long)i * i <= x){ans = i;}else{break;}}return ans;}
}
  • 二分
class Solution {public int mySqrt(int x) {int ans = -1;int left = 0, right = x;// 二分法:查找最大的,满足 mid * mid <= x 的值为answhile(left <= right){int mid = (left + right) / 2;// long:极端数据if((long)mid * mid <= x){ans = mid;left = mid + 1;}else{right = mid - 1;}}return ans;}
}

更新版

  • 只能说这道题真的挺恶心的…本质还是二分,小心边界
class Solution {public int mySqrt(int x) {if(x == 1) {return 1;}int left = 0, right = x;while(left + 1 < right) {int mid = (left + right) / 2;if(x / mid < mid) {right = mid;}else {left = mid;}}return left;}
}

【LeetCode笔记】69. x 的平方根(Java、二分)相关推荐

  1. LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根

    LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根 题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型 ...

  2. LeetCode 69. x 的平方根(二分查找)

    文章目录 1. 题目 2.解题 2.1 二分查找 2.2 牛顿迭代 1. 题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果 ...

  3. LeetCode 题 - 69. x 的平方根 python解法

    题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 ...

  4. 【LeetCode笔记】207. 课程表(Java、图、BFS、队列)

    文章目录 题目描述 思路 && 代码 二刷 题目描述 刷的第一道图相关的题,简直考古 要复习一下拓扑.邻接矩阵之类的知识啦 思路 && 代码 前置课程看成入度,后置课程 ...

  5. 【LeetCode笔记】72. 编辑距离(Java、字符串、动态规划)

    文章目录 题目描述 思路 && 代码 O(n2n^2n2).O(n2n^2n2) 二刷 打卡第十三天- 题目描述 感觉和正则表达式匹配这道题很像:同样的两个字符串,同样的二维数组dp, ...

  6. 【LeetCode笔记】279. 完全平方数(Java、动态规划)

    文章目录 题目描述 思路 & 代码 题目描述 类似找零钱,思路和代码框架基本上一样 思路 & 代码 考虑到这么一点:某完全平方数,肯定是由另一更小的完全平方数 + 一平方组成 比如 1 ...

  7. 【LeetCode笔记】461. 汉明距离(Java、位运算)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 既然是二进制,那就十有八九用位运算符 既然是不同,那肯定用异或 思路 & 代码 两种方法,总体来说都是处理异或值 方法一,转换成字 ...

  8. 【LeetCode笔记】198. 打家劫舍(Java、动态规划)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 好家伙,真是一道不符合社会主义价值观的题目 不过我们还是要把这道题做了,而且还得用上动态规划 思路 & 代码 首先,不能打劫相邻 ...

  9. 【LeetCode笔记】78. 子集(Java、dfs)

    文章目录 题目描述 代码 & 思路 更新2.0 题目描述 不重复:用nowIndex即可,子集一定是下标有序的(相对顺序和nums[]一样) 代码 & 思路 轮流往下找即可 注意:通过 ...

  10. 【LeetCode笔记】48. 旋转图像(Java、矩阵、偏数学、原地算法)

    文章目录 题目描述 代码 & 思路 题目描述 矩阵题,一眼就感觉很烦,直接看了题解= = 因为要求原地旋转,所以只能用temp来做 当然,我们还是要回顾一下矩阵转置的,看看和这道题有啥不同,说 ...

最新文章

  1. 技术图文:位运算技术在求解算法题中的应用
  2. c语言太极图编程语言,利用C语言的Cairo图形库绘制太极图实例教程.pdf
  3. Docker Compose——搭建Redis集群
  4. Understanding Clouds from Satellite Images语义分割比赛中train_test_split与stratify配合使用
  5. linux进程通信发送方式,Linux服务器编程——Linux系统编程之进程通信
  6. js面向对象插件的做法框架new goBuy('.cakeItem',{ add:'.add', reduce:'.reduce' },[1,0.7,0.6]);...
  7. 开源的“底线”在哪里?
  8. 计算机毕业设计中用Java 实现系统权限控制
  9. 阿里星专访丨星罡:因为期待,你需要更出色!
  10. CleanMyMac下载正版清理苹果mac系统电脑蓝奏云
  11. s7200cpu224xp手册_西门子S7-200的PLCCPU224XP的模拟量接线怎样接.pdf
  12. qca9535 tftp32 刷机_【U-Boot】U-Boot 刷机方法大全
  13. c#操作斑马打印机打印中文
  14. 项目意义、必要性分析及需求分析的区别
  15. 任正非的《北国之春》
  16. 【原创--学习整理】学习bat和dos的相关资料整理--汇总
  17. 处理器架构 (八) armv4v5v6 架构参考手册(4) Debug架构
  18. linux查看目录是不是btrfs,btrfs文件系统常用命令使用
  19. 乾坤符和鸿蒙符,『玩家攻略』主力兵符的不二选择!轮回符、不灭符分析
  20. 在只有一个网线的前提下,实现两个电脑之间的局域网通信(伽卡他卡电子教室通信)...

热门文章

  1. js获取html样式属性,js怎么获取指定css属性的值?
  2. daz模型导入marvelous_传世工坊自制Daz Studio 4.10 系列入门教程
  3. 电子科大沙河校区有计算机专业,电子科大沙河校区学费
  4. python合并两个属性_合并两个部分包含文件列表及其属性的最有效方法
  5. c语言求100以内整除13的最大,VB程序设计的一道题,找出100以内能被3整除的所有数之和,并把值保存在一维数组中...
  6. 表格打印没有左边线_office办公软件Excel表格的打印技巧,建议收藏
  7. TensorFlow实现单隐层神经网络
  8. linux系统下codeblocks控制台打印中文乱码
  9. 利用URL拼接爬取获取有道翻译内容
  10. ROS 学习笔记(一):工作空间+功能包创建