Κοινή χρήση τεχνολογίας

【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