LeetCode69 Sqrt(x)
2017-10-08 21:24
447 查看
LeetCode69 Sqrt(x)
问题描述
Implement int sqrt(int x).Compute and return the square root of x.
简单介绍
这道题的就是实现sqrt方法。可以采用二分法进行,寻找适合的整数。但是网上很多博客都再说这个超出int范围的事情,我倒认为既然平方都是int范围内的,那么这个数字肯定也在int内,而数字肯定不大于46340(46341*46341>2147395600)。所以我就直接把右边大于4630的数字砍掉了。不知道这算不算作弊。/(ㄒoㄒ)/~~
代码如下
public int mySqrt(int x) { if(x>=2147395600){ return 46340; } int left=0,right =x/2+1; while(left<=right){ int mid=(left+right)/2; int s; if(mid>46340){ mid=46340; }s=mid*mid; if(s==x){ return mid; }else if(s<x){ left=mid+1; }else { right=mid-1; } } return right; }
LeetCode学习笔记持续更新
GitHub地址 https://github.com/yanqinghe/leetcode
CSDN博客地址 http://blog.csdn.net/yanqinghe123/article/category/7176678
相关文章推荐
- leetcode——69——Sqrt(x)
- 【一天一道LeetCode】#69. Sqrt(x)
- LeetCode-69-Sqrt(x)(二分法)-Medium
- LeetCode-69. Sqrt(x)
- LeetCode【69】 Sqrt(x)
- LeetCode 69. Sqrt(x),求根算法
- 【Leetcode】69. Sqrt(x) 【溢出?如何防止?】
- [leetcode:python]69.Sqrt(x)
- [勇者闯LeetCode] 69. Sqrt(x)
- [Leetcode]#69 Sqrt(x)
- leetcode 69. Sqrt(x)
- LeetCode-69-Sqrt(x)-E
- 【leetcode】69. Sqrt(x)(Python & C++)
- Leetcode 69. Sqrt(x)
- 【一天一道LeetCode】#69. Sqrt(x)
- Leetcode-69 Sqrt(x)
- LeetCode 69. Sqrt(x)
- Sqrt(x) - LeetCode 69
- leetcode 69 sqrt(x)
- LeetCode 69 Sqrt(x)