LeetCode 663 求平方数之和

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。

class Solution {

public:

    bool judgeSquareSum(int c) {

        long long i=0;

        long long j=sqrt(c)+1;

        while(j>=i)

        {

            if(i*i+j*j==c)

                return true;

            else if(i*i+j*j>c)

                j--;

            else

                i++;

        }

        return false;

 

    }

};

双指针是部分题目的常用解法。同时注意int可表示的整数范围

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。class Solution {public:    bool judgeSquareSum(int c) {        long long i=0;        long long j=sqrt(c)+1;        while(j>=i)        {            if(i*i+j*j==c)                return true;            else if(i*i+j*j>c)                j--;            else                i++;        }        return false;
    }};双指针是部分题目的常用解法。同时注意int可表示的整数范围

posted @ 2021-12-07 19:34  80k  阅读(57)  评论(0)    收藏  举报