[−][src]Function leetcode_for_rust::cd0367_valid_perfect_square::is_perfect_square
pub fn is_perfect_square(num: i32) -> bool
Solutions
Approach 1: Binary Search
-
Time complexity: log(n)
-
Space complexity: log(n)
-
Runtime: 0 ms
-
Memory: 2.4 MB
impl Solution { pub fn is_perfect_square(num: i32) -> bool { if num == 0 { return false; } let num = num as usize; let mut left = 1 as usize; let mut right = num; while left <= right { let mid = (right - left) / 2 as usize + left; if mid * mid == num { return true; } if mid * mid > num { right = mid - 1 as usize; } else { left = mid + 1 as usize; } } false } }