leetcode——69.x的平方根

╄→尐↘猪︶ㄣ 提交于 2019-11-30 12:06:30

超出时间限制。。

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!