LeetCode 633. 平方数之和(双指针)

1. 题目

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

示例1:
输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5
 
示例2:
输入: 3
输出: False

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-square-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

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

4 ms 8 MB

发布了925 篇原创文章 · 获赞 2981 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/qq_21201267/article/details/105720281