Skip to content

Commit 93415ca

Browse files
committed
69. x 的平方根
1 parent 08c13bd commit 93415ca

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
|58|[最后一个单词的长度](https://leetcode.cn/problems/length-of-last-word/)|[JavaScript](./algorithms/length-of-last-word.js)|Easy|
3232
|53|[最大子数组和](https://leetcode.cn/problems/maximum-subarray/)|[JavaScript](./algorithms/maximum-subarray.js)|Easy|
3333
|66|[加一](https://leetcode-cn.com/problems/plus-one/)|[JavaScript](./algorithms/plus-one.js)|Easy|
34+
|69|[x 的平方根 ](https://leetcode.cn/problems/sqrtx/)|[JavaScript](./algorithms/sqrtx.js)|Easy|
3435
|70|[爬楼梯](https://leetcode.cn/problems/climbing-stairs/)|[JavaScript](./algorithms/climbing-stairs.js)|Easy|
3536
|73|[矩阵置零](https://leetcode.cn/problems/set-matrix-zeroes/)|[JavaScript](./algorithms/set-matrix-zeroes.js)|Medium|
3637
|82|[删除排序链表中的重复元素 II](https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/)|[JavaScript](./algorithms/remove-duplicates-from-sorted-list-ii.js)|Medium|

algorithms/sqrtx.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number} x
3+
* @return {number}
4+
*/
5+
var mySqrt = function (x) {
6+
if (x <= 1) return x;
7+
8+
let left = 1;
9+
let right = x;
10+
11+
// 1,2,3,4,5,6,7,8,9,10
12+
13+
while (left <= right) {
14+
let middle = (left + right) >> 1;
15+
if (middle > x / middle) {
16+
right = middle - 1;
17+
} else if (middle < x / middle) {
18+
left = middle + 1;
19+
} else {
20+
return middle;
21+
}
22+
}
23+
24+
return right;
25+
};

0 commit comments

Comments
 (0)