求x的平方根
来源:互联网 发布:淘宝轮胎红包雨怎么玩 编辑:程序博客网 时间:2024/04/27 21:06
实现 int sqrt(int x)
函数,计算并返回 x 的平方根。
样例
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
挑战
O(log(x))
class Solution {
/*** @param x: An integer
* @return: The sqrt of x
*/
public int sqrt(int x) {
// write your code here
if (x<0){
return -1;//-1代表错误
}
int left = 1;//通过二分法 right边界用X/2+1稍微放大
int right = x/2 + 1;
int mid;
int res=1;
int tmp;
if (x<2) return x;
while(left<=right){
mid =(right + left)/2;//tmp 和mid之间一定包含着所求结果
tmp = x/mid;
if(tmp>mid){
left = mid + 1;
res = mid;
}else if(tmp<mid){
right = mid - 1;
}else
return mid;
}
return res;
}
}
【略有疑问!~~~~还要多多研究算法】
0 0
- 求x的平方根
- 求x的平方根
- 求X的平方根
- Sqrt(x) 求平方根
- leetcode69---Sqrt(x)(求x的平方根)
- Sqrt(x) 求平方根@LeetCode
- 求平方根的算法
- 求平方根的方法
- X的平方根
- X的平方根
- x的平方根
- 题目 :x的平方根
- x的平方根
- LintCode-x的平方根
- LintCode x的平方根
- x的平方根
- LintCode: x的平方根
- x的平方根
- Android 6.0以上权限拒绝打开权限设置界面
- UIButton的详细使用
- 原子访问
- 第二十章 van Emde Boas树
- 非阻塞同步算法与CAS(Compare and Swap)无锁算法
- 求x的平方根
- Jsp9个内置对象详解
- cocopods【 审核报错】提交构建版本出错:ERROR ITMS-90635
- centos 打开80端口防火墙
- swiper的基础使用(五)
- ROS中观察TF的工具
- 执行一条sql语句update多条记录实现思路
- OpenMesh学习笔记6 怎样遍历网格
- 手把手教你做蓝牙小车(三)