美文网首页
双指针:633. 平方数之和(中等)

双指针:633. 平方数之和(中等)

作者: 言的希 | 来源:发表于2021-04-28 11:31 被阅读0次

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

    示例 1:

                输入:c = 5    输出:true    解释:1 * 1 + 2 * 2 = 5

    示例 2:

                输入:c = 3    输出:false

    解题思路:使用双指针:

     public boolean judgeSquareSum(int c) {

            int i = 0;

            int j = (int)Math.sqrt(c);

            int sum = 0;

            while(i <= j) {

                sum = i*i + j*j;

                if(sum > c)  {

                    j--;

                } else if (sum < c){

                    i++;

                } else {

                    return true;

                }

            }

            return false;

        }

    相关文章

      网友评论

          本文标题:双指针:633. 平方数之和(中等)

          本文链接:https://www.haomeiwen.com/subject/dbcvrltx.html