首页 > 代码库 > [leetcode-633-Sum of Square Numbers]
[leetcode-633-Sum of Square Numbers]
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: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3 Output: False
思路:
类似于二分查找。
从0 和sqrt(n)两端分别查找。
bool judgeSquareSum(int c) { if(c==0)return true; int qq = sqrt( (double)c ); for( int ii= 0, pp = qq; ii<= qq && pp >= ii; ) { int sum = ii * ii + pp * pp; if( sum < c ) ii++; else if( sum > c ) pp--; else return true; } return false; }
[leetcode-633-Sum of Square Numbers]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。