Skip to content

Commit

Permalink
ci: restructure repo to publish to pages
Browse files Browse the repository at this point in the history
  • Loading branch information
rutvij26 committed Dec 17, 2024
1 parent c22e586 commit 36f0fa8
Show file tree
Hide file tree
Showing 10 changed files with 339 additions and 28 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll with GitHub Pages dependencies preinstalled

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Ignore the default Jekyll build directory
_site/

# Ignore Ruby-specific files
*.gem
*.rbc
.bundle/
vendor/bundle/

# Ignore dependency directories for Bundler
Gemfile.lock
*.swp

# Ignore the .jekyll-metadata file
.jekyll-metadata

# Ignore logs
log/

# Ignore temporary files created by editors
*.swp
*.swo
*~
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source 'https://rubygems.org'

gem 'jekyll', '~> 4.0'
gem 'jekyll-seo-tag'
gem 'jekyll-sitemap'
gem 'just-the-docs', '~> 0.4.0'
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Rutvij Sathe

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
55 changes: 44 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,54 @@
# LeetCode Wiki

Welcome to the LeetCode Wiki! This project serves as a comprehensive repository of knowledge and explanations for various LeetCode problems. It aims to provide a centralized resource for understanding different algorithms, data structures, and problem-solving techniques.
Welcome to the **LeetCode Wiki**, a comprehensive resource for learning and solving LeetCode problems. This repository organizes knowledge, algorithms, and problem-solving techniques to help you master coding interviews and algorithm challenges.

---

## Features

- 📂 **Organized Topics**: Explore problems categorized by data structures, algorithms, and difficulty in the [topics/](./topics/) directory.
- 📚 **Curated Lists**: Focus your practice with curated LeetCode lists like [Top 150](https://leetcode.com/studyplan/top-interview-150/) and [LeetCode 75](https://leetcode.com/studyplan/leetcode-75/).
- ✍️ **Explanations**: Detailed breakdowns of solutions with time and space complexity analysis.

---

## Project Structure

The project follows a specific structure to organize the LeetCode topics and explanations. Here's an overview of the structure:
- [**topics/**](./topics/): Contains categorized problem explanations.
- [**getting-started.md**](./getting-started.md): A guide to help you navigate and make the most of this repository.
- [**README.md**](./README.md): Project overview and repository details.

---

## Getting Started

To start using this repository:

1. Browse the [Getting Started guide](./getting-started.md) for tips on navigating the wiki.
2. Dive into the [topics/](./topics/) folder for detailed problem explanations.
3. Track your progress with curated lists:
- [Top 150](https://leetcode.com/studyplan/top-interview-150/)
- [LeetCode 75](https://leetcode.com/studyplan/leetcode-75/)

---

## Contribution Guidelines

Contributions are welcome! To contribute:

1. Fork the repository.
2. Create a new branch for your changes.
3. Add or update Markdown files in the appropriate directory.
4. Submit a pull request for review.

Your contributions can help others on their problem-solving journey!

- [**topics/**](./topics/)
---

## Introduction
## License

The LeetCode Wiki is a personal project created by Rutvij Sathe to document and share their understanding of LeetCode problems. It is designed to be a helpful resource for anyone interested in improving their problem-solving skills and preparing for technical interviews.
This project is licensed under the [MIT License](./LICENSE). Feel free to use and share it.

## Leetcode lists
---

- [ ] [Top 150](https://leetcode.com/studyplan/top-interview-150/)
- [ ] [Leetcode 75](https://leetcode.com/studyplan/leetcode-75/)
- [ ] [Top 100 liked](https://leetcode.com/studyplan/top-100-liked/)
- [ ] [SQL 50](https://leetcode.com/studyplan/top-sql-50/)
- [ ] [Advanced SQL 50](https://leetcode.com/studyplan/premium-sql-50)
Happy coding and problem-solving! 🚀
21 changes: 21 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
title: "LeetCode Wiki"
description: "My Notes on solving LeetCode problems"
markdown: kramdown
remote_theme: pmarsceill/just-the-docs
plugins:
- jekyll-seo-tag
- jekyll-sitemap
url: "https://rutvij26.github.io"
baseurl: "/leetcode-wiki"

just_the_docs:
color_scheme: dark
navigation_structure:
- title: "Home"
url: "/index.html"
- title: "Getting Started"
url: "/getting-started.html"
- title: "Topics"
children:
- title: "Topic 1"
url: "/topics/topic1/index.html"
91 changes: 91 additions & 0 deletions getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Getting Started

Welcome to the **Getting Started** guide for the LeetCode Wiki! This page will help you understand how to navigate and make the most of this resource. Whether you're a beginner or an experienced problem-solver, this guide will set you on the right path.

---

## Why Use This Wiki?

LeetCode can be overwhelming with its vast library of problems. This wiki simplifies your journey by:

- Categorizing problems based on topics, difficulty, and popularity.
- Providing clear, concise explanations of algorithms and solutions.
- Offering curated lists to help you focus on what matters most for interviews.

---

## Prerequisites

Before diving in, make sure you have the following:

1. **LeetCode Account**
- Create a free account on [LeetCode](https://leetcode.com/) to access problems and track your progress.
2. **Programming Knowledge**
- Familiarity with at least one programming language like Python, Java, C++, or JavaScript.
3. **Basic Understanding of Algorithms and Data Structures**
- Concepts like arrays, linked lists, recursion, sorting, and searching are a great starting point.

---

## How to Use This Wiki

### 1. Explore Topics

Visit the [**topics/**](./topics/) directory to find problem explanations grouped by categories such as arrays, dynamic programming, graphs, and more. Each topic includes:

- An overview of the concept.
- Example problems with detailed explanations and solutions.

### 2. LeetCode Lists

Use the curated lists below to structure your problem-solving journey:

- [**Top 150 Questions**](https://leetcode.com/studyplan/top-interview-150/): Essential for interview preparation.
- [**LeetCode 75**](https://leetcode.com/studyplan/leetcode-75/): A guided study plan for beginners.
- [**Top 100 Liked Problems**](https://leetcode.com/studyplan/top-100-liked/): Community favorites with valuable patterns.
- [**SQL 50**](https://leetcode.com/studyplan/top-sql-50/): A must for data-oriented roles.
- [**Advanced SQL 50**](https://leetcode.com/studyplan/premium-sql-50): Premium SQL challenges for advanced learners.

### 3. Learn from Examples

Each problem includes:

- Problem statement and constraints.
- Step-by-step explanation of the approach.
- Code solutions in multiple languages.
- Time and space complexity analysis.

---

## Recommended Workflow

1. **Pick a List or Topic**

- Start with beginner-friendly lists like **LeetCode 75** or a topic you're currently learning.

2. **Understand the Problem**

- Read the problem carefully and try solving it on your own.

3. **Refer to the Wiki**

- Use this wiki to understand alternative approaches, optimize your solution, or clarify doubts.

4. **Practice Consistently**
- Solve at least 1–2 problems daily to build momentum.

---

## Contribute to the Wiki

This project is open to collaboration! If you’d like to contribute:

1. Fork the repository.
2. Add or improve explanations in Markdown format.
3. Submit a pull request for review.

Your contributions can help others on their problem-solving journey!

---

Happy coding! 🚀
54 changes: 54 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# LeetCode Wiki

Welcome to the **LeetCode Wiki**, a comprehensive resource for learning and solving LeetCode problems. This repository organizes knowledge, algorithms, and problem-solving techniques to help you master coding interviews and algorithm challenges.

---

## Features

- 📂 **Organized Topics**: Explore problems categorized by data structures, algorithms, and difficulty in the [topics/](./topics/) directory.
- 📚 **Curated Lists**: Focus your practice with curated LeetCode lists like [Top 150](https://leetcode.com/studyplan/top-interview-150/) and [LeetCode 75](https://leetcode.com/studyplan/leetcode-75/).
- ✍️ **Explanations**: Detailed breakdowns of solutions with time and space complexity analysis.

---

## Project Structure

- [**topics/**](./topics/): Contains categorized problem explanations.
- [**getting-started.md**](./getting-started.md): A guide to help you navigate and make the most of this repository.
- [**README.md**](./README.md): Project overview and repository details.

---

## Getting Started

To start using this repository:

1. Browse the [Getting Started guide](./getting-started.md) for tips on navigating the wiki.
2. Dive into the [topics/](./topics/) folder for detailed problem explanations.
3. Track your progress with curated lists:
- [Top 150](https://leetcode.com/studyplan/top-interview-150/)
- [LeetCode 75](https://leetcode.com/studyplan/leetcode-75/)

---

## Contribution Guidelines

Contributions are welcome! To contribute:

1. Fork the repository.
2. Create a new branch for your changes.
3. Add or update Markdown files in the appropriate directory.
4. Submit a pull request for review.

Your contributions can help others on their problem-solving journey!

---

## License

This project is licensed under the [MIT License](./LICENSE). Feel free to use and share it.

---

Happy coding and problem-solving! 🚀
45 changes: 28 additions & 17 deletions topics/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
| Topic | Difficulty to learn | Return of Investment |
| --------------------------------- | ------------------- | -------------------- |
| [Two Pointers](./two-pointers.md) | Medium | High |
| Tree BFS | Medium | High |
| Graph BFS | Medium | High |
| Tree DFS | Medium | High |
| Graph DFS | Medium | Medium |
| Combinatorial DFS | Medium | Medium |
| Heap | Medium | Medium |
| Binary Search | High | Medium |
| Divide and Conquer | Medium | Low |
| Linked List | High | High |
| Hash | High | High |
| Dynamic Programming | Medium | Medium |
| Trie | Medium | Low |
| Union Find | High | High |
| Greedy | High | Medium |
# Topics

This is a list of important topics in LeetCode, along with their difficulty to learn and the expected return on investment (ROI) for technical interviews.

| Topic | Difficulty to Learn | Return on Investment |
| --------------------------------------------- | ------------------- | -------------------- |
| [Two Pointers](./two-pointers/) | Medium | High |
| [Tree BFS](./tree-bfs/) | Medium | High |
| [Graph BFS](./graph-bfs/) | Medium | High |
| [Tree DFS](./tree-dfs/) | Medium | High |
| [Graph DFS](./graph-dfs/) | Medium | Medium |
| [Combinatorial DFS](./combinatorial-dfs/) | Medium | Medium |
| [Heap](./heap/) | Medium | Medium |
| [Binary Search](./binary-search/) | High | Medium |
| [Divide and Conquer](./divide-and-conquer/) | Medium | Low |
| [Linked List](./linked-list/) | High | High |
| [Hash](./hash/) | High | High |
| [Dynamic Programming](./dynamic-programming/) | Medium | Medium |
| [Trie](./trie/) | Medium | Low |
| [Union Find](./union-find/) | High | High |
| [Greedy](./greedy/) | High | Medium |

---

### **Explanation**

- **Difficulty to Learn**: This is a subjective assessment of how difficult each topic is to understand and implement. Topics marked as "High" might require more practice and experience to master.
- **Return on Investment**: This is a rough estimate of how often these topics appear in coding interviews and how valuable they are for solving problems efficiently.
File renamed without changes.

0 comments on commit 36f0fa8

Please sign in to comment.