LeetCode题号:69. x 的平方根
计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:输入: 8
输出: 2
说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
1、暴力破解,遍历找值。
2、二分法 。
归纳:由于 x平方根的整数部分必须满足 k^2≤x 的最大 k值。从这点下手就行
//暴力破解
func mySqrt(x int) int {
var num int = 0
for num*num <= x {
if (num+1)*(num+1) > x {
return num
}
num++
}
return num
}
func mySqrt1(x int) int {
left, right := 0, x
ans := -1
for left < right {
mid := left + (right-left)/2
if mid*mid <= x {
ans = mid
left = mid + 1
} else {
right = mid - 1
}
}
return ans
}
往期回顾:
【1】LeetCode-876. 链表的中间结点(Goland实现)
【2】LeetCode-剑指 Offer 22. 链表中倒数第k个节点(Goland实现)
【3】LeetCode-21. 合并两个有序链表(Goland实现)
❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ
❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~
❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】
❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)