Skip to content
Go to file

Build Status PyPI PyPI Pylint score Codecov

Algorithmic Problem Solving

Algorithms and data structures for preparing programming competitions (e.g. ACM-ICPC, see more) and coding interviews.
By Christoph Dürr and Jill-Jênn Vie.

Our book is available in French, Simplified and Traditional Chinese. Soon in English.


pip install tryalgo


Demo: TryAlgo in Paris

Shortest paths on the graph of Paris.

To run it yourself:

pip install -r examples/requirements.txt
jupyter notebook  # Then go to examples folder


Dynamic programming some example with coin change:

from tryalgo import coin_change

print(coin_change([3, 5, 11], 29))  # True because 29 = 6 x 3 + 0 x 5 + 1 x 11

Des chiffres et des lettres (that inspired Countdown)

from tryalgo.arithm_expr_target import arithm_expr_target

arithm_expr_target([25, 50, 75, 100, 3, 6], 952)

Returns '((((75*3)*(100+6))-50)/25)=952'.


All algorithms are thoroughly tested. These tests can be used to practice your programming skills!

python -m unittest

Most snippets from the book are within 76 columns (French version) or 75 columns (English version, to be released soon).

Our code is checked:

make pycodestyle  # PEP8
make pylint

Found a bug?

Please drop an issue.


© 2016–2020, Christoph Dürr and Jill-Jênn Vie (
Released under the MIT License.



  • Louis Abraham
  • Lilian Besson
  • Xavier Carcelle
  • Stéphane Henriot
  • Ryan Lahfa
  • Olivier Marty
  • Samuel Tardieu
You can’t perform that action at this time.