双指针: 判断一个非负整数是否为两个整数的平方和。(633)

Snipaste_20200703_160643.jpg
Input: 5
Output: True
Explanation: 1 * 1 + 2 * 2 = 5
题目描述:判断一个非负整数是否为两个整数的平方和。

          
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
class Solution: def judgeSquareSum(self, c: int) -> bool: a=int(c**0.5) b=1 while b<=a: if a**2+b**2==c: print(a,b) print(True) return True if a**2+b**2>c: a-=1 if a**2+b**2<c: b+=1 if b>a: print(False) return False Solution().judgeSquareSum(2)

思路:采用双指针,让a=最大的数 就是目标数的开方,b=最小的1,两数平方相加大于目标数则大数减一,反之小数加一,直到相遇

(完)
西安四日游
历史古城 大国巅峰
虚拟机centos系统设置固定ip
方便shell和连接数据库操作
放假前摸鱼闲谈相亲
小时候以为人家墙上喷了个拆字,觉得好可怜都没房子住了,现在才知道那个字读富
双指针:回文字符串(680)
删除一个字符,判断是否能构成回文字符串。所谓的回文字符串,是指具有左右对称特点的字符串,例如 "abcba" 就是一个回文字符串。
FFmpeg Batch AV Converter
推荐一款好用的格式转换工具
这两月又看不少片
养蜂人,哥斯拉大战金刚2,热辣滚烫,毒舌律师,功夫熊猫4,破墓,飞驰人生2,新生,辐射,寄生兽
等待你的评论