1. 程式人生 > >leetcode 633. 平方數之和(Sum of Square Numbers)

leetcode 633. 平方數之和(Sum of Square Numbers)

-- etc 題目 while code ++ title int div

目錄

  • 題目描述:
  • 示例1:
  • 示例2:
  • 解法:

題目描述:

給定一個非負整數 c ,你要判斷是否存在兩個整數 ab,使得 a2 + b2 = c。

示例1:

輸入: 5
輸出: True
解釋: 1 * 1 + 2 * 2 = 5 

示例2:

輸入: 3
輸出: False

解法:

class Solution {
public:
    bool judgeSquareSum(int c) {
        long long l = 0, r = sqrt(c);
        while(l <= r){
            long long val = l*l + r*r;
            if(val == c){
                return true;
            }else if(val > c){
                r--;
            }else{
                l++;
            }
        }
        return false;
    }
};

leetcode 633. 平方數之和(Sum of Square Numbers)