기술나눔

【LeetCode】633. 平方数之和

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. 题目

2. 分析

典型双指针的题了,不知道为啥LeetCode会把这题放到二分类别下?

需要知道math.ceil()是向上取整;

3. 代码

class Solution:
    def judgeSquareSum(self, c: int) -> bool:
        upper = math.ceil(sqrt(c))
        print(upper)
        left, right = 0, upper
        while(left <= right):
            if left * left + right * right > c:
                right-=1
            elif left * left + right * right < c:
                left+=1
            else:
                return True
        return False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13