Сегодня решил проблему с BFS от Hackerrank.

Я получил TLE в более раннем начале. Я понял, что использование «для элемента в списке» для обхода списка в порядке очереди не так эффективно. Поэтому я изменил реализацию на очередь, она работает. В python очередь поддерживается collections.deque

Проблема:

Проект Эйлера № 244: Слайдеры



Вот мой код

Я хотел бы резюмировать одну тонкую вещь:

для BFS, если нужны все самые популярные решения, мы должны добавить или new_state == des, чтобы включить в очередь несколько лучших решений.

if new_state not in seen or new_state == des:

Спасибо за чтение. Я надеюсь, что это помогает.