LeetCode-69. x 的平方根(Goland实现)

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】

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

猜你喜欢

转载自blog.csdn.net/weixin_43970743/article/details/108638448
今日推荐