Skip to content

Commit 640dc70

Browse files
committed
Update solution 0069
1 parent d0c6f90 commit 640dc70

File tree

2 files changed

+8
-15
lines changed

2 files changed

+8
-15
lines changed

leetcode/0069.Sqrtx/69. Sqrt(x).go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ func mySqrt(x int) int {
1111
l = mid
1212
}
1313
}
14-
1514
return l
1615
}
1716

website/content/ChapterFour/0001~0099/0069.Sqrtx.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,18 @@ Since the return type is an integer, the decimal digits are truncated and only
4242

4343
package leetcode
4444

45-
// 解法一 二分
45+
// 解法一 二分, 找到最后一个满足 n^2 <= x 的整数n
4646
func mySqrt(x int) int {
47-
if x == 0 {
48-
return 0
49-
}
50-
left, right, res := 1, x, 0
51-
for left <= right {
52-
mid := left + ((right - left) >> 1)
53-
if mid < x/mid {
54-
left = mid + 1
55-
res = mid
56-
} else if mid == x/mid {
57-
return mid
47+
l, r := 0, x
48+
for l < r {
49+
mid := (l + r + 1) / 2
50+
if mid*mid > x {
51+
r = mid - 1
5852
} else {
59-
right = mid - 1
53+
l = mid
6054
}
6155
}
62-
return res
56+
return l
6357
}
6458

6559
// 解法二 牛顿迭代法 https://en.wikipedia.org/wiki/Integer_square_root

0 commit comments

Comments
 (0)