Sobes.tech
Middle — Senior

Comment prendre en compte les points dupliqués lors de la vérification de la symétrie?

sobes.tech IA

Réponse de l'IA

Lors de la vérification de la symétrie d’un ensemble de points, il est important de prendre en compte que les points dupliqués peuvent fausser le résultat s’ils ne sont pas traités. Pour gérer les duplicats, on applique généralement les approches suivantes :

  • Utilisation de structures de données sans doublons : par exemple, convertir la liste de points en un ensemble (set) pour éliminer les répétitions.
  • Comptage du nombre de chaque point : si la symétrie doit prendre en compte la multiplicité des points, il faut stocker le nombre dans un dictionnaire (par exemple, Map<Point, Integer>).
  • Comparaison en tenant compte du nombre : lors de la vérification de la symétrie, vérifier que pour chaque point et son reflet, la quantité correspond.

Exemple en Python, où les doublons sont pris en compte et la symétrie par rapport à l’axe Y (x=0) est vérifiée :

from collections import Counter

def is_symmetric(points):
    counts = Counter(points)
    for (x, y), cnt in counts.items():
        mirror = (-x, y)
        if counts[mirror] != cnt:
            return False
    return True

points = [(1,2), (-1,2), (1,2), (-1,2), (0,0)]
print(is_symmetric(points))  # True

Ainsi, les points dupliqués sont pris en compte selon leur nombre, et la symétrie est vérifiée en tenant compte de ces quantités.