首页 🍒LeetCode,🐶算法

题目

XSPEriB6Bh.png

思路

双指针解法left从0开始,right从sqrt(c)开始。

然后判断收缩指针。

class Solution {
public:
    bool judgeSquareSum(int c) {
        long long left = 0, right = sqrt(c);
        while (left <= right) {
            long long a = left * left, b = right * right;
            if (a + b == c) return true;
            else if (a + b < c) {
                left++;
            }
            else {
                right--;
            }
        }
        return false;
    }
};



文章评论