leetcode——69.x的平方根

超出时间限制。。

1 class Solution:
2     def mySqrt(self, x: int) -> int:
3         for i in range(0,x//2+2):
4             if x>=i**2 and x<(i+1)**2:
5                 return i

好气哦。。。加油想想怎么改进。。。

 

修改以后通过,但是还是太好,修改了将近40分钟,好没有效率啊:

 1 class Solution:
 2     def mySqrt(self, x: int) -> int:
 3         i=x
 4         m=[x]
 5         while i>=0:
 6             if i**2>x:
 7                 m[0]=i
 8                 i=i//2
 9             elif x>=i**2 and x<(i+1)**2:
10                 return i
11             else:
12                 i=(i+m[0])//2
执行用时 :144 ms, 在所有 Python3 提交中击败了5.80%的用户 内存消耗 :13.9 MB, 在所有 Python3 提交中击败了5.22%的用户   别人的做法好简单,我就是太愚钝。。。。。。                                                                                                                         ——2019.9.25

 

上一篇:69. 数组中数值和下标相等的元素


下一篇:1024 科学计数法,C