633. Sum of Square Numbers 平方数之和 看一个数是否能够有两个平方数组成

来源:互联网 发布:易语言源码做成软件 编辑:程序博客网 时间:2024/05/17 13:07

Given a non-negative integer c, your task is to decide whether there're two integers a and b such that a2 + b2 = c.

Example 1:

Input: 5Output: TrueExplanation: 1 * 1 + 2 * 2 = 5

Example 2:

Input: 3Output: False
比较简单,开方求范围,然后使用左右指针
class Solution {public:    bool judgeSquareSum(int c) {        if(c<0) return false;        int mid=sqrt(c);        int left=0,right=mid;        while(left<=right)        {            int temp=left*left+right*right;            if(c==temp) return true;            else if(c>temp) left++;            else right--;        }        return false;    }};


原创粉丝点击