A Hacktoberfest-friendly multi-language Algorithms & Data Structures repository. Contribute algorithm implementations across these languages: Go, TypeScript, Python, JavaScript, C#, and C++.
- 45 total problems:
- easy: 20
- medium: 15
- hard: 10
- Beginner-friendly issues and clear structure
- Multi-language practice
- Guided contribution process with tests and style guides
- Earn Hacktoberfest PRs by contributing high-quality solutions
algo-vault/
├── README.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── LICENSE
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── algorithm-request.md
│ │ ├── implementation-request.md
│ │ ├── bug-report.md
│ │ └── feature-request.md
│ └── PULL_REQUEST_TEMPLATE.md
├── easy/
│ └── two-sum/
│ ├── README.md
│ ├── golang/
│ ├── typescript/
│ ├── python/
│ ├── javascript/
│ ├── csharp/
│ └── cpp/
├── medium/
│ └── binary-search/
│ └── README.md
└── hard/
└── merge-k-sorted-lists/
└── README.md
Each language targets 45 problems.
- Go: [#################################-------] 15/45 (33%)
- TypeScript: [########--------------------------------] 4/45 (9%)
- Python: [##########################################] 19/45 (42%)
- JavaScript: [########--------------------------------] 4/45 (9%)
- C#: [########--------------------------------] 4/45 (9%)
- C++: [#################################-------] 15/45 (33%)
-
Easy (20)
- Two Sum (
easy/two-sum/) - 6/6 languages ✅ - Reverse String (
easy/reverse-string/) - 3/6 languages - Palindrome Check (
easy/palindrome-check/) - 3/6 languages - FizzBuzz (
easy/fizzbuzz/) - 3/6 languages - Find Maximum in Array (
easy/find-maximum/) - 6/6 languages ✅ - Count Vowels (
easy/count-vowels/) - 3/6 languages - Factorial (
easy/factorial/) - 3/6 languages - Fibonacci Sequence (
easy/fibonacci/) - 3/6 languages - Sum of Array (
easy/sum-array/) - 1/6 languages - Find Minimum (
easy/find-minimum/) - 2/6 languages - Remove Duplicates (
easy/remove-duplicates/) - 3/6 languages - Anagram Check (
easy/anagram-check/) - 2/6 languages - First Unique Character (
easy/first-unique-character/) - 1/6 languages - Valid Palindrome (
easy/valid-palindrome/) - 4/6 languages - Reverse Integer (
easy/reverse-integer/) - 1/6 languages - Plus One (
easy/plus-one/) - 1/6 languages - Move Zeroes (
easy/move-zeroes/) - 3/6 languages - Single Number (
easy/single-number/) - 1/6 languages - Majority Element (
easy/majority-element/) - 6/6 languages ✅ - Contains Duplicate (
easy/contains-duplicate/) - 4/6 languages
- Two Sum (
-
Medium (15)
- Binary Search (
medium/binary-search/) - 2/6 languages - Merge Sort
- Quick Sort
- Valid Parentheses
- Linked List Cycle
- Add Two Numbers (Linked List)
- Longest Substring Without Repeating
- 3Sum
- Container With Most Water
- Group Anagrams
- LRU Cache
- Rotate Array
- Product of Array Except Self
- Find Peak Element
- Kth Largest Element
- Binary Search (
-
Hard (10)
- Merge K Sorted Lists (
hard/merge-k-sorted-lists/) - 1/6 languages - Trapping Rain Water (
hard/trapping-rain-water/) - 2/6 languages - Median of Two Sorted Arrays
- Regular Expression Matching
- Word Ladder (
hard/word-ladder/) - 2/6 languages - Sliding Window Maximum
- Largest Rectangle in Histogram
- Binary Tree Maximum Path Sum
- Serialize and Deserialize Binary Tree
- Longest Valid Parentheses
- Merge K Sorted Lists (
- Find or open an Issue with labels:
hacktoberfest,good-first-issue,help-wanted. - Follow the folder structure:
<difficulty>/<problem-slug>/<language>/. - Implement the algorithm and include 3–5 test cases.
- Run formatters/linters (see CONTRIBUTING.md).
- Open a PR using the provided template.
Thanks to all contributors who have helped make this project better!
View detailed contribution stats: Contributors Graph
- See
CODE_OF_CONDUCT.md - See
CONTRIBUTING.mdfor style guides, testing, and PR rules
MIT - see LICENSE