[leetcode] 69.Sqrt(x)
来源:互联网 发布:ios uitableview优化 编辑:程序博客网 时间:2024/05/17 06:29
题目:
mplement int sqrt(int x).
Compute and return the square root of x.
题意:
实现一个求平方的函数,参数是一个整数,返回的也是一个整数。
思路:
这道题很明显的使用二分查找。需要考虑特殊情况,比如说x是最大的整数之类的。
代码参见以下:
class Solution {public: int mySqrt(int x) { if(x == 0 || x == 1)return x; else if(x < 0)return -1; long long middle = x/2; long long lx = x; long long head = 1; long long tail = lx; while(true){ if((middle - 1) < 0)break; long long temp = middle * middle; long long add = (middle + 1)*(middle + 1); long long minus = (middle - 1)*(middle - 1); if(temp <= lx && add > lx)break; else if(temp < lx){ head = middle + 1; } else if(temp > lx){ tail = middle - 1; } middle = (tail + head)/2; } return middle; }};
0 0
- LeetCode 69. Sqrt(x)
- LeetCode 69.Sqrt(x)
- LeetCode --- 69. Sqrt(x)
- [Leetcode] 69. Sqrt(x)
- [leetcode] 69.Sqrt(x)
- Leetcode-69.Sqrt(x)
- leetcode--69.sqrt(x)
- LeetCode 69. Sqrt(x)
- leetcode 69. Sqrt(x)
- 【LeetCode】69. Sqrt(x)
- 69. Sqrt(x) LeetCode
- [leetcode] 69. Sqrt(x)
- leetcode 69. Sqrt(x)
- LeetCode 69. Sqrt(x)
- LeetCode 69. Sqrt(x)
- leetcode-69. Sqrt(x)
- [leetcode]69. Sqrt(x)
- LeetCode-69.Sqrt(x)
- es-aop
- 中值滤波
- Java设计模式——状态模式(State)
- php怎样清除浏览器缓存
- 汇编学习笔记--寄存器(内存访问 1)
- [leetcode] 69.Sqrt(x)
- 数组与ArrayList的关系与区别
- 欢迎使用CSDN-markdown编辑器
- Mysql创建及删除用户命令
- 双边滤波
- 16 观察者模式
- python 实现网站图片抓取小爬虫
- thinkphp+js生成曲线图
- uiview边框圆角阴影