123456789101112131415 |
- func isPerfectSquare(num int) bool {
- beg, end := 1, num+1
- for beg < end {
- mid := beg + (end-beg)/2
- div := num / mid
- if div == mid && div*mid == num { // 5 / 2 == 2, but 2 * 2 != 5
- return true
- } else if div < mid {
- end = mid
- } else if mid <= div {
- beg = mid + 1
- }
- }
- return false
- }
|