completed README
Some checks failed
Python unit tests / unittests (push) Failing after 4s

This commit is contained in:
2025-01-28 17:28:24 +01:00
parent 2fda876df3
commit 35f194f649
5 changed files with 49 additions and 42 deletions

View File

@ -28,7 +28,7 @@ list = []
"""
def countKey(pieces: list[int])->int:
def countKey(pieces: list[int]) -> int:
pieces = sorted(pieces)
complete: int = 0

View File

@ -12,7 +12,7 @@ point d'arrivée, tel que les routes marquées 1 ne soient parcourues que de jou
seulement de nuit (index impair). En plus des routes données, nous pouvons aussi
rester sur un même nœud pour une nuit.
Afin de bien gérer les différences d'états entre jour et nuit, nous pouvons intégrer le demi-jour
associé à chaque visite de nœud. Ainsi, une même intersection peut avoir deux nœud:
associé à chaque visite de nœud. Ainsi, une même intersection peut avoir deux nœuds :
un pour une visite de jour, et un de nuit.
Pour résoudre ce problème, comme nous ne pouvons pas établir d'heuristique mesurant
@ -93,4 +93,4 @@ def findSafestPath(start: int, end: int, intersections: list[tuple[int, int, int
if __name__ == '__main__':
print(findSafestPath(0,2,[(0, 1, -1), (1, 2, 0)]) == [0, 0, 1, 2])
print(findSafestPath(0, 5, [(0,1,0), (0,2,1), (2,1,-1), (1,3,-1), (2,4,-1), (3,5,1), (3,4,0), (4,5,-1)]) == [0, 1, 3, 5])
print(findSafestPath(0, 5, [(0, 1, 0), (0, 2, 1), (2, 1, -1), (1, 3, -1), (2, 4, -1), (3, 5, 1), (3, 4, 0), (4, 5, -1)]) == [0, 1, 3, 5])

View File

@ -6,7 +6,7 @@ Explications:
Comme indiqué dans la donnée de l'exercice, il s'agit ici de trouvé un sous-graphe
connexe dans un graphe quelconque de consoles interconnectées
Pour ce faire nous pouvons procéder ainsi:
Pour ce faire, nous pouvons procéder ainsi :
Étape 1 :
- Compter le nombre de voisins de chaque nœud (console)
- Éliminer ceux ayant moins de voisins que la taille de sous-graphe recherché
@ -20,10 +20,10 @@ Pour ce faire nous pouvons procéder ainsi:
Étape 2 :
- Pour chaque nœud du graphe :
- Calculer l'ensemble des nœuds communs entre ses voisins (et lui-même),
et les voisins des ses voisins (et eux-mêmes)'
C'est-à-dire, si N1 et un nœuds et nb(N1) = {N2, N3, ...} est l'ensemble de ses voisins,
et les voisins de ses voisins (et eux-mêmes)'
C'est-à-dire, si N1 est un nœud et nb(N1) = {N2, N3, ...} est l'ensemble de ses voisins,
on cherche l'intersection de {N1} U nb(N1), {N2} U nb(N2), {N3} U nb(N3), etc.
- Si c'est ensemble contient au moins n éléments, il s'agit alors d'un sous-graphe connexe.
- Si cet ensemble contient au moins n éléments, il s'agit alors d'un sous-graphe connexe.
On peut ainsi en extraire les n premiers nœuds comme résultat
"""
@ -71,6 +71,6 @@ def findTightlyLinkedConsoles(n: int, consoles: list[tuple[int, int]]) -> list[i
if __name__ == '__main__':
print(findTightlyLinkedConsoles(3,[(0,1),(0,4),(2,1),(3,1),(4,2),(2,3)]) == [1,2,3])
print(findTightlyLinkedConsoles(4,[(0,1),(0,4),(2,1),(3,1),(4,2),(2,3)]) == [])
print(findTightlyLinkedConsoles(4,[(0,1),(0,4),(2,1),(3,1),(4,2),(2,3),(1,4),(4,3)]) == [1,2,3,4])
print(findTightlyLinkedConsoles(3, [(0, 1), (0, 4), (2, 1), (3, 1), (4, 2), (2, 3)]) == [1, 2, 3])
print(findTightlyLinkedConsoles(4, [(0, 1), (0, 4), (2, 1), (3, 1), (4, 2), (2, 3)]) == [])
print(findTightlyLinkedConsoles(4, [(0, 1), (0, 4), (2, 1), (3, 1), (4, 2), (2, 3), (1, 4), (4, 3)]) == [1, 2, 3, 4])

View File

@ -14,7 +14,7 @@ le calcul récursif puisque cela évite de calculer les états partagés (sous-b
identiques)
Bonus :
Nous cherchons la valeur N la plus petite telle que:
Nous cherchons la valeur N la plus petite telle que :
`computeNbrOfDifferentSequences(N, 5, 100) > 2^16`
"""
@ -72,4 +72,4 @@ def bonus():
if __name__ == '__main__':
print(computeNbrOfDifferentSequences(1, 6, 3) == 1)
print(computeNbrOfDifferentSequences(2, 6, 7) == 6)
print(bonus())
#print(bonus())