Synertry / RushDevsDailyGo

RushDevs dailies and solutions in Golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RushDevsDailyGo

GitHub go.mod Go version CI License FOSSA Status FOSSA Status
Go Report Card CodeFactor Maintainability codecov Test Coverage
DeepSource Active Issues

"DevOps is fun until something breaks"

About

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.

Dailies

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

License

This repository is licensed under the Boost Software License 1.0. See LICENSE

Further attribution belongs to:

  • Synertry
  • Google (The Go Authors)
    • Coding language Go
    • module go-cmp for diff beautifier in comparing test outputs

About

RushDevs dailies and solutions in Golang

License:Boost Software License 1.0


Languages

Language:Go 100.0%