0367. Valid Perfect Square
https://leetcode.com/problems/valid-perfect-square
Description
Given a positive integer num, write a function which returns True if num is a perfect square else False.
Follow up: Do not use any built-in library function such as sqrt
.
Example 1:
**Input:** num = 16
**Output:** true
Example 2:
**Input:** num = 14
**Output:** false
Constraints:
1 <= num <= 2^31 - 1
ac1: Newton method
r = (r + x / r) / 2
class Solution {
public boolean isPerfectSquare(int num) {
long r = num;
while (r * r > num) {
r = (r + num / r) / 2;
}
return r * r == num;
}
}
Last updated
Was this helpful?