首页 > 代码库 > [leetcode]Sqrt(x) @ Python
[leetcode]Sqrt(x) @ Python
原题地址:https://oj.leetcode.com/problems/sqrtx/
题意:
Implement int sqrt(int x)
.
Compute and return the square root of x.
解题思路:实现开平方函数。这里要注意的一点是返回的时一个整数。通过这一点我们可以看出,很有可能是使用二分查找来解决问题的。这里要注意折半查找起点和终点的设置。起点i=1;终点j=x/2+1;因为在(x/2+1)^2 > x,所以我们将折半查找的终点设为x/2+1。
代码:
class Solution: # @param x, an integer # @return an integer def sqrt(self, x): if x == 0: return 0 i = 1; j = x / 2 + 1 while( i <= j ): center = ( i + j ) / 2 if center ** 2 == x: return center elif center ** 2 > x: j = center - 1 else: i = center + 1 return j
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。