Leetcode 69 Sqrt(x) 二分查找(二分答案)
2016-06-14 16:44
495 查看
可怕的同时考数值溢出和二分的酱油题之一,常在各种小公司的笔试中充当大题来给你好看。。。
题意很简单,在《二分查找综述》中有描述。
重点:使用简单粗暴的long long来避免溢出,二分均方根的答案来得到准确解。
当然这里的溢出不止是相乘的溢出,还有第六行那段代码的溢出,每次都会有几个解决问题的斗士牺牲在这里。。。
这里已经给出了两种题目的解法,相信大家对于二分查找有了一个比较清晰的认识,可以写一个关于二分查找的模板了,但是懒惰楼主是不会写的。。。
题意很简单,在《二分查找综述》中有描述。
重点:使用简单粗暴的long long来避免溢出,二分均方根的答案来得到准确解。
当然这里的溢出不止是相乘的溢出,还有第六行那段代码的溢出,每次都会有几个解决问题的斗士牺牲在这里。。。
class Solution { public: int mySqrt(int x) { long long a = 0, b = x; while(a <= b ){ long long mid = a + (b - a) /2; if(mid * mid == x) return mid; if(mid * mid < x ) a = mid + 1; else b = mid - 1; } return (int)b; } };
这里已经给出了两种题目的解法,相信大家对于二分查找有了一个比较清晰的认识,可以写一个关于二分查找的模板了,但是懒惰楼主是不会写的。。。
相关文章推荐
- 自定义吐司
- 堆排序(C++实现)
- 深入理解Java的接口和抽象类
- CSS:<ul>的左边为什么有40px的默认距离呢?
- 基于ZooKeeper的分布式Session实现
- 用js 触发 浏览器的下载功能下载文件
- 【swift学习笔记】六.访facebook登录页面
- Jimoshi_Spring 框架学习(一)--Spring实现IOC思想、javabean对象、Spring对象和对象之间关系
- HDOJ/HDU 1015 Safecracker(枚举、暴力)
- 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?
- 【swift学习笔记】六.访facebook登录页面
- 解决问题:centos虚拟机安装好nginx,本机无法访问
- HDOJ/HDU 1015 Safecracker(枚举、暴力)
- dvwa第一次接触
- JavaScript实现自定义alert弹框
- [转] 「指尖上的魔法」 - 谈谈 React Native 中的手势
- Cocos2dx 3.x C++人员过渡Lua的常用代码总结
- 我是个不爱说话的产品经理,不爱说话就代表不能沟通吗?
- Apache服务器的安装与配置
- android studio命令打包(gradle)