Console app to showcase Leet Code solutions, OOP and input parsing.
😁 Hi I'm Ray De Jesus! I have been programming professionally for over 6 years developing web and mobile applications for many clients.
This is a small console app to showcase some of my leetcode progress as I have been brushing up on data structures and algorithms. Additionally this serves as a display of my knowledge of fundamentally important techniques and principles as a software engineer. No flashy frameworks just problem solving and SOLID code.
Some key points
- This repo showcases leetcode solutions I have coded myself.
- This repo is used as a way to display input parsing and string manipulation.
- This repo highlights proper OOP usage with SOLID principles in mind.
🙌🙌🙌 If you like the project feel free to make your own progess repo with the template I've created. 🙌🙌🙌
# | Title | Solution | Time | Space | Analysis |
---|---|---|---|---|---|
1 | Two Sum | Source | O(N) | O(N) | README |
1768 | Merge Strings Alternately | Source | O(N) | O(M+N) | README |
Download the repository and run in Visual Studio or by using the command.
$ dotnet run
- Contains an interface and abstract class to dervive Leet Code problems from.
- The "prompts" class is used to handle basic error and input prompting.
- Stores the folders for each problem aka solution.
- Additionly there is a Problems Index File where all problems are registered your problem to a switch case.
- This switch case is used to create a constant hash map based on how c# compiles code. This also prevents creating every problem as an object in memory at application startup... Think of it as lazy loading our problems.
- The Problem_1 File showcases our leetcode problem derived from the "LeetCodeProblem" abstact class. This is where our input parsing happens.
- Within /Common we have an interface for all our solutions. This allows us to include multiple solution variants while maintaining a common interface for us to connect to. Also within this folder is an object for us to cast our problem input into.
- Within /Solutions as stated above, we can provide the many different solution variants by utilizing our solution interface.