【leetcode刷题笔记】Sqrt(x)
Implement int sqrt(int x)
.
Compute and return the square root of x.
题解:二分的方法,从0,1,2.....x搜索sqrt(x)的值。
代码如下:
1 public class Solution { 2 public int sqrt(int x) { 3 long l = 0; 4 long r = x; 5 6 while(l <= r){ 7 long mid = l + (r-l)/2; 8 if(x == mid*mid) 9 return (int)mid; 10 else if(x < mid*mid) 11 r = mid-1; 12 else { 13 l = mid+1; 14 } 15 } 16 return (int)r; 17 } 18 }
需要注意的一点就是mid*mid的值有可能超过int的范围,所以要用long型规定各个变量。开始用的int型,结果出现了TLE的错误,猜想是int越界以后变成负数,就一直找不到sqrt(x)的值。
转载于:https://www.cnblogs.com/sunshineatnoon/p/3853726.html
【leetcode刷题笔记】Sqrt(x)相关推荐
- LeetCode刷题笔记(算法思想 四)
LeetCode刷题笔记(算法思想 四) 七.动态规划 斐波那契数列 70. 爬楼梯 198. 打家劫舍 213. 打家劫舍 II 信件错排 母牛生产 矩阵路径 64. 最小路径和 62. 不同路径 ...
- 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)
LeetCode刷题笔记:二分查找(简单) 学算法,刷力扣,加油卷,进大厂! 题目描述 涉及算法 题目解答 学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给定一个 n 个元素有序的(升序) ...
- LeetCode刷题笔记2——数组2
LeetCode刷题笔记2--数组2 重塑数组 题目 在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原 ...
- 小何同学的leetcode刷题笔记 基础篇(01)整数反转
小何同学的leetcode刷题笔记 基础篇(01)整数反转[07] *** [01]数学取余法*** 对数字进行数位操作时,常见的方法便是用取余的方法提取出各位数字,再进行操作 操作(1):对10取余 ...
- LeetCode刷题笔记汇总
LeetCode刷题笔记汇总 第一次刷LeetCode写的一些笔记. 1.两数之和 3.无重复字符的最长子串 15.三数之和 18.四数之和 19.删除链表的倒数第 N 个结点 20.有效的括号 21 ...
- 【leetcode刷题笔记】动态规划
#[leetcode刷题笔记]动态规划 石子游戏 public boolean stoneGame(int[] piles) {int N = piles.length;// dp[i][j] is ...
- LeetCode刷题笔记-动态规划-day4
文章目录 LeetCode刷题笔记-动态规划-day4 55. 跳跃游戏 1.题目 2.解题思路 3.代码 45. 跳跃游戏 II 1.题目 2.解题思路 3.代码 LeetCode刷题笔记-动态规划 ...
- LeetCode刷题笔记- 15.三数之和
LeetCode刷题笔记- 15.三数之和 C语言 题目 注意点 C语言 /*** Return an array of arrays of size *returnSize.* The sizes ...
- LeetCode刷题笔记第6题:Z字形变换
LeetCode刷题笔记第6题:Z字形变换 想法: 要完成字符串根据给定的行数从上往下,从左到右完成Z字形排列.当只有一行时直接返回原字符串,当行数大于1时,先以行数构建一个行数数值个空字符串的列表, ...
- leetcode刷题笔记——二分查找
leetcode刷题笔记--二分查找 目前完成的贪心相关的leetcode算法题序号: 中等:80,81 困难:4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com ...
最新文章
- 分库分表之后,主键的处理方法
- N个数的全排列 -------指定排头法
- java基础(九) 可变参数列表介绍
- synchronized 面试五连击
- win8.1 USB启动盘制作(不支持UEFI,不支持GPT分区)
- meta 标签的学习
- java socket 浏览器_java实现websocket(图文)
- Backend Qt5Agg is interactive backend. Turning interactive mode on.
- 基于Debian的Linux发行版安装深度音乐及其插件,支持ubunut16
- docker部署showdoc
- jpg如何免费转换成pdf
- SQL盲注中的部分常用函数
- 查找Linux系统中某个软件是否安装/存在
- androidstudio上传自己的lib到Jcenter
- mac/windows下查看端口号占用情况以及杀死端口进程
- 裸辞后,在家全职接单一个月的感触
- ibdata1是什么?
- vue项目--资产管理系统
- XML文件简介和解析
- 《超人诞生-人类增强的新技术》
热门文章
- TensorFlow Input
- git 应用 rebase
- CentOS7没有ftp命令的解决方法
- 问题 | kali系统隐藏sshd的banner信息
- c语言输出教学日历表 节假日突出,[蓝桥杯][算法提高VIP]任意年月日历输出 (C语言代码)...
- 图片配置文件设置 索尼a7s2_倒计时开课两天~索尼微单相机专题课程
- 数据传输服务 DTS > 数据订阅 > 数据订阅(新版) > 创建RDS MySQL数据订阅通道(新版)
- 深圳观澜机房(云计算数据中心)
- Java基础学习总结(84)——Java面向对象六大原则和设计模式
- 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装