Skip to content

rayraydejesus/LeetCode-Progress

Repository files navigation

Leetcode-Progress

C# Console app to showcase Leet Code solutions, OOP and input parsing.

Description

😁 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. 🙌🙌🙌

Contents

# 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

Usage

Download the repository and run in Visual Studio or by using the command.

$  dotnet run

Architecture


Common Folder

  • Contains an interface and abstract class to dervive Leet Code problems from.
  • The "prompts" class is used to handle basic error and input prompting.


Problems Folder

  • 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.


Problems/1 Breakdown

  • 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.


CHEERS! 🍻

About

Console app to showcase Leet Code solutions, OOP and input parsing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages