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.