[leetcode-633-Sum of Square Numbers]
Posted hellowOOOrld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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]的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 633. Sum of Square Numbers
[leetcode]633. Sum of Square Numbers
算法leetcode每日一练1342. 将数字变成 0 的操作次数