367. Valid Perfect Square我的做法

来源:互联网 发布:mac 终端显示路径 编辑:程序博客网 时间:2024/05/01 09:18


Given a positive integer num, write a function which returns True if num is a perfect square else False.

Note: Do not use any built-in library function such as sqrt.

Example 1:

Input: 16Returns: True

Example 2:

Input: 14Returns: False

class Solution {
public:
    bool isPerfectSquare(int num) {
        return isPerfectSquare(1, 90000, num);
    }
    
    bool isPerfectSquare(int min, int max, int num)
    {
        if (min > max) return false;
        int mid = min + max;
        mid = mid /2;
        int val = mid * mid;
        if (val == num) {
            return true;
        } else if (val > num){
            return isPerfectSquare(min, mid-1, num);
        } else {
            return isPerfectSquare(mid+1, max, num);
        }
    }
};






0 0