我的代码如下:
import math
class Solution(object):
def mySqrt(self, x):
"""
:type x: int
:rtype: int
"""
if x == 0: return 0
res = pow(math.e, 0.5 * math.log(x))
print(res)
return int(res)
这基于
当测试用例为4
时,它预期会输出2
,但会退还1
。
我检查res
的值为2.0
。
那这里有什么问题?
答案 0 :(得分:0)
如果您print(repr(res))
,您会看到res = 1.9999999999999998
的{{1}}确实是int
。
如果适合您的用例,您可以1
(有doc of round
)。
如果您对integer square roots感兴趣,那么只有这篇维基百科文章对您来说可能很有趣。