LeetCode367.有效的完全平方数Golang版
1. 问题描述
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。
说明:不要使用任何内置的库函数,如 sqrt。
示例 1:
输入:16
输出:True
示例 2:
输入:14
输出:False
2. 思路
二分法
3. 代码
func isPerfectSquare(num int) bool {
if num < 2 {
return true
}
l := 0
r := num / 2
for l <= r {
mid := l + (r - l) / 2
if mid * mid < num {
l = mid + 1
} else if mid * mid > num {
r = mid - 1
} else {
return true
}
}
return false
}