当前位置: 首页 > 后端技术 > Python

力扣-0633.SumofSquareNumbers[Python]

时间:2023-03-26 16:32:04 Python

LeetCode0633.SumofSquareNumbers[Easy][Python][DoublePointer]题目英文题目链接给定一个非负整数c,你的任务是判断是否有两个整数a和b使得a*a+b*b=c.Example1:Input:5Output:TrueExplanation:1*1+2*2=5Example2:Input:3Output:FalseTranslateChinesetopiclink给定一个非负整数c,需要判断是否有两个整数a和b使得a*a+b*b=c。示例1:输入:5输出:True解释:1*1+2*2=5示例2:输入:3输出:False思路双指针a指针从0开始,b指针取c的平方根。然后向对方移动,如果a*a+b*bc,则b减1。时间复杂度:$$O(\sqrt{c})$$Python代码类Solution(object):defjudgeSquareSum(self,c):""":typec:int:rtype:bool"""a=0b=int(c**0.5)+1whilea<=b:#如果c=2,发现=没有加,输出False,应该输出Trueifa*a+b*b==c:returnTrueelifa*a+b*b