"DevOps is fun
until something breaks"
Update 2023-06-11: This is now just a reference repo for my table driven tests, benchmarks and CI/CD. It will be active for a while before archiving to gradually migrate CI/CD services to another repo.
Go Code for dailies challenges from the Discord server RushDevs in Channel 🧠 | daily-aufgaben
Here is the invite link to join the server:
https://discord.gg/ABAkZeyr9A
Each daily is accompanied by a README.md file with the task description, as well as unit tests and benchmarks.
The solutions are in submittable form, so you can copy&paste it via dm to the responsible code reviewer. Some dailies do have additional functions to signify the best possible solution.
I have created this repo to learn more about alogrithms as well as to fiddle with the CI/CD provided by GitHub Actions. The tests and CI behind this repo are far more sophisticated than the submissions for the dailies, so be sure to check them out.
The numbering is from the Discord channel, some numbers are missing, because those dailies were HTML/CSS challenges rather than alogrithm challenges.
# | Name | Solution | Tests | Benchmarks | Time | Space | Remarks |
---|---|---|---|---|---|---|---|
1 | intersection | ✔️ | ✔️ | ✔️ | O(n+m) | O(n) | |
2 | meeting_rooms | ||||||
3 | min_operations | ||||||
5 | shortest_dist | ||||||
7 | pascal_triangle_row | ||||||
9 | sum_combinations | ||||||
11 | one_bits | ✔️ | ✔️ | ✔️ | O(1) | O(1) | Hamming Weight |
13 | majority_element | ✔️ | ✔️ | ✔️ | O(log n) | O(n) | |
14 | maxNonAdjacentSum | ✔️ | ✔️ | ✔️ | O(n) | ||
16 | generateAllSubsets | ✔️ | ✔️ | ✔️ | O(2^n) | ||
18 | searchMatrix | ✔️ | ✔️ | ✔️ | O(log nm) | O(n+m) | Unfold to 1D array |
20 | find_num | ✔️ | ✔️ | ✔️ | O(log n+m) | O(n) | |
21 | findAllConcatenatedWordsInADict | ✔️ | ✔️ | ✔️ | O(log n^3) | ||
23 | findKthLargest | ✔️ | ✔️ | ✔️ | O(n) | O(n) | quickselect algo |
24 | closest_3sum | ✔️ | ✔️ | ✔️ | O(n log n) | O(n) | Go has pdqsort as default |
26 | remove_dups | ✔️ | ✔️ | ✔️ | O(n) | O(1) | len() points to size of address |
27 | canSpell | ✔️ | ✔️ | ✔️ | O(n) | O(n) | |
28 | create_palindrome | ✔️ | ✔️ | ✔️ | O(n) | O(n) | w/o recursion |
31 | checkPerfectNumber | ✔️ | ✔️ | ✔️ | O(√(log(n))) | O(1) | ❤ |
32 | frac_to_dec | ✔️ | ✔️ | ✔️ | O(?) | Hard w/o recursion | |
34 | longest_substring_with_k_distinct_characters | ✔️ | ✔️ | ✔️ | O(n) | O(1) | Learned sliding windows |
36 | sortNums | ✔️ | ✔️ | ✔️ | O(n) | O(1) | casual pointer swapping |
38 | courses_to_take | ✔️ | ✔️ | O(V+E) | O(n) | graph adjacency list |
This repository is licensed under the Boost Software License 1.0. See LICENSE
Further attribution belongs to:
- Synertry
- Google (The Go Authors)