Git Product home page Git Product logo

algowithme's Introduction

AlgoWithMe

Purpose

Lucas: I keep going to these different sites leetcode, algoexpert.io, hackerrank and the like and they all forced me to interact with their website in clunky and sometimes even fustrating UIs. So I thought "what if you just used normal developer tools locally and used real development lifecycle processes to learn the data structures & algorithms that help us level up our ability to engineer: test locally, commit, push, PR, GitHub workflows?". I believe it would look like AlgoWithMe :)

By using this you are getting real experience so use it as a chance find new tools to use for editing code, working with git and the like. The whole point of doing this instead of the web-based is that you're using a "real" process of testing your skills and learning.

I will also add go ahead and cheat, figure out a way around the encrypted tests but it doesn't really help you or anyone else. You could also look at other peoples PR for the problem you're working on but what is the point... Why do this at all if you're just cheating, it'd be a waste of time.

Please don't ruin other's experience either, but if others ask for help try to give it to them without giving a solution. This whole thing is for learning.

How it works

  • Fork this repo into your own github account
  • Create a feature branch (ex: feature/twosumsolution)
  • Make changes to the code and commit them
    • Run tests locally, look at .github/workflows/{go_tests.yml,go_more_tests.yml} to see how it is being tested. Always read the code. It's a good way to get familiar with things.
  • Push changes to your forked repo feature branch
    • This will run the first level of tests
  • Create a Pull Request
    • After creating the Pull Request ask @catdevman to add a label for checking the second level of tests.
  • If the tests succeed on the second level then you completed that question CONGRATS!
  • If the tests fail
    • Change the code, commit, push, and asked @catdevman on the Pull Request to rerun the tests (yeah I know this isn't great but only way I can keep the second level of tests "secret")
  • Have fun and feel free to ask @catdevman any questions whether about AlgoWithMe or DSA I'll do whatever I can to help

Resources for learning DSA (no sponsors)

I'll probably use LLMs to generate more questions, it would take a lot of effort and time I don't have to do it any other way. However, if you want to contribute feel free to ask.

algowithme's People

Contributors

catdevman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.