https://leetcode-cn.com/problems/sqrtx/
func mySqrt(_ x: Int) -> Int {
if x < 2 {return x}
var pivot = 0
var left = 2
var right = x / 2
while left <= right {
pivot = left + (right - left) / 2
let sum = pivot * pivot
if sum > x {
right = pivot - 1
} else if sum < x {
left = pivot + 1
} else {
return pivot
}
}
return right
}
网友评论