- Each challenge(folder) has a README.md file and
*_test.go
file, check it and find what kind of function you need to implement. - You may use anything you want except the 3rd-party packages.
- Implement the function.
- Run the tests and benchmarks.
- Create a PR and answer questions from PR template.
- We will choose the most fast and elegant solution and merge into the repo.
- New solutions may come in later and be merged as well if they are: faster, cleaner, have less CPU/Mem footprint
- (@macocha, @mick4711) chess
- (@kennygrant) floyd
- (@ledongthuc) anagram
- (@heliac2000) jaro
- (@nguyengiabk) mergesort
- (@nguyengiabk) wordladder
- (@EvenPeng) sumdecimal
- (@bediger4000) buildword
- (@zerkms) shorthash
- (@zerkms) romannumerals
- (@zerkms) lastlettergame
- (@duckbrain) reverseparentheses
- (@kennygrant) functionfrequency
- (@marz619) coins
- (@marz619) secretmessage
- (@shogg) missingnumbers
- (@HDudzus) spiral
- (@TomLefley) warriors
- (@shogg) snowflakes
- (@shogg) brokennode
- (@shogg) nasacollage
- (@shogg) node_degree
- compression
- (@CicadaCinema) calculator
Run it in the challenge folder:
go test -bench .
You may suggest other challenges as well, not only of DSA type.
Create a new challenge using this small bash script and create a PR.
./new.sh challenge_name
The challenge must follow these rules:
- Explain the challenge well in README.md file so it's clear to everyone what needs to be done.
- Cover as much of test cases as possible, edge cases as well so people who solve it can focus on the implementation only.