当前位置:网站首页>leetcode刷题_平方数之和

leetcode刷题_平方数之和

2022-07-06 01:19:00 身影王座

题目描述

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

 Java解决方法

class Solution {
    public boolean judgeSquareSum(int c) {
        long a = 0;
        int b = (int)Math.sqrt(c);
        while(a <= b)
        {
            // a * a + b * b有可能超过int取值范围,需要用long
            if(a * a + b * b > c)
            {
                b--;
            }
            else if(a * a + b * b < c)
            {
                a++;
            }
            else
            {
                return true;
            }
        }
        return false;
    }
}

 C解决方法

bool judgeSquareSum(int c){
    long a = 0;
        int b = (int)sqrt(c);
        while(a <= b)
        {
            // a * a + b * b有可能超过int取值范围,需要用long
            if(a * a + b * b > c)
            {
                b--;
            }
            else if(a * a + b * b < c)
            {
                a++;
            }
            else
            {
                return true;
            }
        }
        return false;
}

 

原网站

版权声明
本文为[身影王座]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42148307/article/details/125587032