Leetcode: sqrt (x)
2013-11-23 17:25
459 查看
思路:
二分法
总结:
ull != int * int
代码:
二分法
总结:
ull != int * int
代码:
#include <iostream> using namespace std; class Solution { public: int sqrt(int x) { unsigned long long l = 0, r = x, mid; unsigned long long multi; while(l < r ) { mid = (l+r) >> 1; multi = mid * mid; if(multi == x) { return mid; }else if(multi > x) { r = mid -1; }else { l = mid + 1; } } multi = l * l; if(multi > x) return l-1; else return l; } }; int main() { Solution solution; cout << solution.sqrt(2147395599) << endl; return 0; }
相关文章推荐
- jni开发 - 使用Memory Analyzer tool(MAT)分析内存泄漏(三)
- Linux中EtherCAT主站执行过程
- Java过滤html标签
- 如何把照片变成素描
- 【转载】开发者是如何提升技能水平的
- 五分钟solr4.5教程(搭建、运行)
- Spring之通过servlet获取托管的对象
- Largest Rectangle in Histogram
- JAVA策略模式(3)之解决具体遇到的一个问题
- 金XX项目总结
- jxl 自定义背景颜色——十六进制转化为Colour
- 新浪微博客户端开发之adapter
- jquery的select美化
- jni开发 - 使用Memory Analyzer tool(MAT)分析内存泄漏(二)
- mysql主主复制
- JSTL--functions及fmt函数的常用方法
- Hibernate之使用insert into语句
- AngularJS学习笔记1——什么是AngularJS?
- C/C++ 结构体的一个高级特性 ―― 指定成员的位数
- 关于v$sql_bind_capture 的问题