Here, you'll find an array of problems sourced from platforms like Leetcode, GeeksForGeeks, CodeForces, and CodeStudio. Additionally, I've included some handy scripts to streamline your coding experience, such as automatic templating and code prettifying.
To simplify your workflow, I've provided a script for automatic templating. You can create a new Python or C++ file based on templated provided in Templates folder. You can either set it up as a VSCode task or run it standalone using Python.
Setup task
- Press
Ctrl+Shift+P. - Select
Configure Tasks. - Choose
Create template. - Copy and paste the provided JSON from
Scripts/tasks.jsoninto the task configuration.
Run task
- Press
Ctrl+Shift+P. - Type
Create template. - Pass the reqiured
cstr(for more info, see below) without the quotes. For example :cf/123a/cpp,lc/223/py, etc.
cd Scripts
python create.py --cstr="{platform_shortform}/{problem_number}/{language}"For example:
python create.py --cstr="cf/1234a/cpp"I've created a simple prettified.py script to not only format your Python and C++ code but also intelligently caches the output. This means that if a file hasn't been modified since the last prettifying operation, it won't be reformatted unnecessarily.
Note
It requires clang-format for formatting C++ files though.
Simply run:
cd Scripts
python prettified.pyNote
This script also functions as a pre-commit hook, ensuring that your code is formatted before any commits.
Here are some future enhancements I'm considering:
- Automatically generating
README.mdfiles for every problem based on a template. - Implementing a tiny database using SQLite to map problems with details like name, tags, difficulty, etc.
- Developing a CLI or a simple static web app for displaying stats, such as the number of problems solved, difficulty split, etc.