Pour ma part, comme les problèmes des premiers jours sont assez faciles, j'essaie d'optimiser au maximum le temps d'exécution.
Pour le jour 7, j'ai trouvé une petite astuce.
Au lieu d'explorer toutes les combinaisons possibles en allant de gauche à droite, je pars de la valeur cible et j'essaie de remonter jusqu'à la première valeur en allant de droite à gauche et en inversant les opérations si celles-ci sont possibles. Cela réduit énormément l'arbre d'exploration.
Cela me donne 240 microsecondes au lieu de 15 millisecondes avec une approche brute-force.
[^] # Re: 7ème jour, un peu de répit
Posté par Guillaume.B . En réponse au journal Advent of code 2024. Évalué à 3.
Pour ma part, comme les problèmes des premiers jours sont assez faciles, j'essaie d'optimiser au maximum le temps d'exécution.
Pour le jour 7, j'ai trouvé une petite astuce.
Au lieu d'explorer toutes les combinaisons possibles en allant de gauche à droite, je pars de la valeur cible et j'essaie de remonter jusqu'à la première valeur en allant de droite à gauche et en inversant les opérations si celles-ci sont possibles. Cela réduit énormément l'arbre d'exploration.
Cela me donne 240 microsecondes au lieu de 15 millisecondes avec une approche brute-force.