0
点赞
收藏
分享

微信扫一扫

【633. 平方数之和】

夏木之下 2022-02-22 阅读 34

题目链接
633. 平方数之和

class Solution {
    public boolean judgeSquareSum(int c) {
        /*
            双指针:
            1、初始指针 l 指向0,指针 r 指向 sqrt(c)
            2、如果 a*a + b*b == c,返回 true
               如果 a*a + b*b < c,左指针 l++
               如果 a*a + b*b > c,右指针 r--
        */
        int l = 0;
        long r = (long)Math.sqrt(c);
        while(l<=r){
            if(l*l+r*r == c){
                return true;
            }else if(l*l+r*r < c){
                l++;
            }else r--;
        }
        return false;
    }
}
举报

相关推荐

0 条评论