114:Sqrt(x)
来源:互联网 发布:java怎么制作游戏 编辑:程序博客网 时间:2024/05/16 04:26
题目:Implement int sqrt(int x). Compute and return the square root of x.
该题目比较简单,可以使用二分法,代码如下:
// 二分查找// 时间复杂度 O(logn),空间复杂度 O(1)class Solution {public: int mySqrt(int x) { int left = 1, right = x / 2; int last_mid; // 记录最近一次 mid if (x < 2) return x; while (left <= right) { int mid = left + (right - left) / 2; if (x / mid > mid) { // 不要用 x > mid * mid,会溢出 left = mid + 1; last_mid = mid; } else if (x / mid < mid) right = mid - 1; else return mid; } return last_mid; }};
0 0
- 114:Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- sqrt(x)
- Sqrt(x)
- sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- Sqrt(x)
- 深入理解CPU和异构计算芯片GPU/FPGA/ASIC (下篇)
- 4对象的组合
- Eclipse Amaterasuml安装
- 打基础系列-----java泛型
- Centos7配置NFS服务
- 114:Sqrt(x)
- Python数据挖掘课程 六.Numpy、Pandas和Matplotlib包基础知识
- 顺序容器(上)
- 第一课hello world的启发
- hdoj1059 Dividing 多重背包
- spfa + 静态链表 模板
- 1085: [SCOI2005]骑士精神
- UVA 10976
- 一个简单的每日访客IP统计