1. /**
    2. * 平方数之和 #633
    3. * https://leetcode-cn.com/problems/sum-of-square-numbers/submissions/
    4. * 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c
    5. *
    6. * 示例一
    7. * 输入:c = 5 输出:true解释:1 * 1 + 2 * 2 = 5
    8. * 示例二
    9. * 输入:输入:c = 3 输出:false
    10. * 示例三
    11. * 输入:输入:c = 4 输出:true
    12. * **/
    13. function judgeSquareSum(c) {
    14. if (c < 0) return false;
    15. let mid = Math.ceil(Math.sqrt(c));
    16. let left = 0;
    17. let right = mid;
    18. while (left <= right) {
    19. let sum = left * left + right * right
    20. if (sum === c) {
    21. return true
    22. } else if (sum > c) {
    23. right--
    24. } else {
    25. left++
    26. }
    27. }
    28. return false
    29. }
    30. console.log(judgeSquareSum(5))