Condivisione della tecnologia

【LeetCode】633 Somma di numeri quadrati

2024-07-12

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

1. argomento

2. Analisi

Questa è una tipica domanda con puntatore doppio. Mi chiedo perché LeetCode inserisce questa domanda nella categoria binaria?

bisogno di saperemath.ceil()viene arrotondato per eccesso;

3. Codice

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