0
点赞
收藏
分享

微信扫一扫

python 练习题 69. x 的平方根

伢赞 2022-08-11 阅读 71

地址:https://leetcode-cn.com/problems/sqrtx/

 

1 '''
2 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
3
4 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
5
6 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
7
8
9
10 示例 1:
11
12 输入:x = 4
13 输出:2
14 示例 2:
15
16 输入:x = 8
17 输出:2
18 解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
19
20
21
22 '''
23
24 '''
25 思路:
26 1.将目标值除2
27 2.如果 平方大于 目标值,则继续取该值除2
28 3.如果小于目标值,判断如果该值+1 大于目标值,则返回最终值,如果小于目标值,则该值+1,继续步骤2
29
30 '''
31
32
33
34
35 class Solution:
36 def mySqrt(self, x: int) -> int:
37 newX = x
38 while True:
39 if newX <= 1: return newX
40 if newX ** 2 > x:
41 newX = int(newX / 2) if newX %2 ==0 else int(newX / 2) +1
42 else:
43 if (newX + 1) ** 2 > x:
44 return newX
45 else:
46

举报

相关推荐

0 条评论