罪恶克星 发表于 2025-3-12 09:34:14

力扣-数组-367 有用的完全平方数

思路和时间复杂度


[*]思路:利用二分,确定区间是左闭右闭,然后根据巨细进行二分
[*]时间复杂度: https://latex.csdn.net/eq?O%28logn%29      
代码

class Solution {
public:
    bool isPerfectSquare(int num) {
      bool flag = false;
      if(num == 0 || num == 1) return true;
      long long left = 0, right = num;
      // 左闭右闭
      while(left <= right){
            long long mid = left + (right - left) / 2;
            if(mid * mid == num){
                return true;
            }else if(mid * mid > num){
                right = mid-1;
            }else{
                left = mid+1;
            }
      }
      return flag;
    }
};

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 力扣-数组-367 有用的完全平方数