Skip to content
/ tryalgo Public
forked from jilljenn/tryalgo

Algorithms and data structures for preparing programming competitions: basic and advanced

License

Notifications You must be signed in to change notification settings

ANgdi/tryalgo

 
 

Repository files navigation

Build Status PyPI PyPI Pylint score

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.

Install

pip install tryalgo

Documentation

Shortest paths on the graph of Paris.

To run it yourself:

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

Usage

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'.

Tests

All algorithms are 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).

We follow PEP8 (pycodestyle):

make pycodestyle

Thanks to Xavier Carcelle, we are also following pylint:

make pylint

As of November 24, 2019, our pylint score is 10/10.

Found a bug?

Please drop an issue.

Authors

© 2016–2019, Christoph Dürr and Jill-Jênn Vie ([email protected]).
Released under the MIT License.

Contributors

Thanks!

  • Louis Abraham
  • Lilian Besson
  • Xavier Carcelle
  • Stéphane Henriot
  • Ryan Lahfa
  • Olivier Marty
  • Samuel Tardieu

About

Algorithms and data structures for preparing programming competitions: basic and advanced

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Makefile 0.2%