Skip to content

ar-sayeem/LeetCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

696 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leetcode Solutions

This repository contains a curated collection of solutions to various LeetCode problems. Each solution is crafted to demonstrate efficient problem-solving techniques and best coding practices across diverse problem types and difficulty levels.

Key Features

  • Comprehensive Solutions: Covers a wide range of problem categories, including arrays, linked lists, dynamic programming, and more.
  • Optimal Approaches: Emphasis on performance with optimized algorithms and clean, readable code.
  • Code Documentation: Solutions include inline comments and explanations to enhance understanding and facilitate learning.

This repository serves as a resource for anyone looking to deepen their knowledge of data structures and algorithms or to prepare for technical interviews.

Default Copy Paste

  • Time Complexity: O()
  • Space Complexity: O()
  • by ar-sayeem [Month DD, YYYY]

LeetCode Topics

Hash Table

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0049-group-anagrams Medium
0073-set-matrix-zeroes Medium
0076-minimum-window-substring Hard
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0138-copy-list-with-random-pointer Medium
0141-linked-list-cycle Easy
0142-linked-list-cycle-ii Medium
0146-lru-cache Medium
0202-happy-number Easy
0205-isomorphic-strings Easy
0242-valid-anagram Easy
0268-missing-number Easy
0349-intersection-of-two-arrays Easy
0387-first-unique-character-in-a-string Easy
0448-find-all-numbers-disappeared-in-an-array Easy
0496-next-greater-element-i Easy
0560-subarray-sum-equals-k Medium
0567-permutation-in-string Medium
0645-set-mismatch Easy
0874-walking-robot-simulation Medium
1189-maximum-number-of-balloons Easy
1358-number-of-substrings-containing-all-three-characters Medium
1980-find-unique-binary-string Medium
2540-minimum-common-value Easy
2784-check-if-array-is-good Easy
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium

String

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0014-longest-common-prefix Easy
0020-valid-parentheses Easy
0049-group-anagrams Medium
0076-minimum-window-substring Hard
0125-valid-palindrome Easy
0131-palindrome-partitioning Medium
0151-reverse-words-in-a-string Medium
0205-isomorphic-strings Easy
0242-valid-anagram Easy
0387-first-unique-character-in-a-string Easy
0443-string-compression Medium
0567-permutation-in-string Medium
0657-robot-return-to-origin Easy
0796-rotate-string Easy
1189-maximum-number-of-balloons Easy
1358-number-of-substrings-containing-all-three-characters Medium
1758-minimum-changes-to-make-alternating-binary-string Easy
1784-check-if-binary-string-has-at-most-one-segment-of-ones Easy
1869-longer-contiguous-segments-of-ones-than-zeros Easy
1910-remove-all-occurrences-of-a-substring Medium
1967-number-of-strings-that-appear-as-substrings-in-word Easy
1980-find-unique-binary-string Medium
2515-shortest-distance-to-target-string-in-a-circular-array Easy
2833-furthest-point-from-origin Easy
2839-check-if-strings-can-be-made-equal-with-operations-i Easy
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium
3838-weighted-word-mapping Easy

Sliding Window

Problem Name Difficulty
0003-longest-substring-without-repeating-characters Medium
0076-minimum-window-substring Hard
0239-sliding-window-maximum Hard
0567-permutation-in-string Medium
1358-number-of-substrings-containing-all-three-characters Medium
1652-defuse-the-bomb Easy

Array

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0014-longest-common-prefix Easy
0033-search-in-rotated-sorted-array Medium
0039-combination-sum Medium
0040-combination-sum-ii Medium
0042-trapping-rain-water Hard
0048-rotate-image Medium
0049-group-anagrams Medium
0051-n-queens Hard
0054-spiral-matrix Medium
0073-set-matrix-zeroes Medium
0078-subsets Medium
0084-largest-rectangle-in-histogram Hard
0090-subsets-ii Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0118-pascals-triangle Easy
0238-product-of-array-except-self Medium
0239-sliding-window-maximum Hard
0240-search-a-2d-matrix-ii Medium
0268-missing-number Easy
0287-find-the-duplicate-number Medium
0349-intersection-of-two-arrays Easy
0396-rotate-function Medium
0448-find-all-numbers-disappeared-in-an-array Easy
0485-max-consecutive-ones Easy
0493-reverse-pairs Hard
0496-next-greater-element-i Easy
0503-next-greater-element-ii Medium
0540-single-element-in-a-sorted-array Medium
0560-subarray-sum-equals-k Medium
0645-set-mismatch Easy
0682-baseball-game Easy
0724-find-pivot-index Easy
0852-peak-index-in-a-mountain-array Medium
0874-walking-robot-simulation Medium
0912-sort-an-array Medium
0994-rotting-oranges Medium
1260-shift-2d-grid Easy
1582-special-positions-in-a-binary-matrix Easy
1652-defuse-the-bomb Easy
1732-find-the-highest-altitude Easy
1752-check-if-array-is-sorted-and-rotated Easy
1848-minimum-distance-to-the-target-element Easy
1886-determine-whether-matrix-can-be-obtained-by-rotation Easy
1967-number-of-strings-that-appear-as-substrings-in-word Easy
1980-find-unique-binary-string Medium
2064-minimized-maximum-of-products-distributed-to-any-store Medium
2073-time-needed-to-buy-tickets Easy
2078-two-furthest-houses-with-different-colors Easy
2144-minimum-cost-of-buying-candies-with-discount Easy
2515-shortest-distance-to-target-string-in-a-circular-array Easy
2540-minimum-common-value Easy
2553-separate-the-digits-in-an-array Easy
2596-check-knight-tour-configuration Medium
2784-check-if-array-is-good Easy
2946-matrix-similarity-after-cyclic-shifts Easy
3193-count-the-number-of-inversions Hard
3546-equal-sum-grid-partition-i Medium
3633-earliest-finish-time-for-land-and-water-rides-i Easy
3635-earliest-finish-time-for-land-and-water-rides-ii Medium
3643-flip-square-submatrix-vertically Easy
3838-weighted-word-mapping Easy

Matrix

Problem Name Difficulty
0048-rotate-image Medium
0054-spiral-matrix Medium
0073-set-matrix-zeroes Medium
0240-search-a-2d-matrix-ii Medium
0994-rotting-oranges Medium
1260-shift-2d-grid Easy
1582-special-positions-in-a-binary-matrix Easy
1886-determine-whether-matrix-can-be-obtained-by-rotation Easy
2596-check-knight-tour-configuration Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3546-equal-sum-grid-partition-i Medium
3643-flip-square-submatrix-vertically Easy

Math

Problem Name Difficulty
0002-add-two-numbers Medium
0048-rotate-image Medium
0202-happy-number Easy
0263-ugly-number Easy
0268-missing-number Easy
0396-rotate-function Medium
0788-rotated-digits Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3658-gcd-of-odd-and-even-sums Easy
3754-concatenate-non-zero-digits-and-multiply-by-sum-i Easy
3783-mirror-distance-of-an-integer Easy

Binary Search

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0033-search-in-rotated-sorted-array Medium
0222-count-complete-tree-nodes Easy
0240-search-a-2d-matrix-ii Medium
0268-missing-number Easy
0278-first-bad-version Easy
0287-find-the-duplicate-number Medium
0349-intersection-of-two-arrays Easy
0493-reverse-pairs Hard
0540-single-element-in-a-sorted-array Medium
0852-peak-index-in-a-mountain-array Medium
2064-minimized-maximum-of-products-distributed-to-any-store Medium
2540-minimum-common-value Easy
3633-earliest-finish-time-for-land-and-water-rides-i Easy
3635-earliest-finish-time-for-land-and-water-rides-ii Medium

Bit Manipulation

Problem Name Difficulty
0078-subsets Medium
0090-subsets-ii Medium
0222-count-complete-tree-nodes Easy
0268-missing-number Easy
0287-find-the-duplicate-number Medium
0645-set-mismatch Easy
1009-complement-of-base-10-integer Easy

Sorting

Problem Name Difficulty
0049-group-anagrams Medium
0242-valid-anagram Easy
0268-missing-number Easy
0349-intersection-of-two-arrays Easy
0645-set-mismatch Easy
0912-sort-an-array Medium
2144-minimum-cost-of-buying-candies-with-discount Easy
2784-check-if-array-is-good Easy
2840-check-if-strings-can-be-made-equal-with-operations-ii Medium
3633-earliest-finish-time-for-land-and-water-rides-i Easy
3635-earliest-finish-time-for-land-and-water-rides-ii Medium

Backtracking

Problem Name Difficulty
0039-combination-sum Medium
0040-combination-sum-ii Medium
0051-n-queens Hard
0078-subsets Medium
0090-subsets-ii Medium
0131-palindrome-partitioning Medium
1980-find-unique-binary-string Medium

Prefix Sum

Problem Name Difficulty
0238-product-of-array-except-self Medium
0560-subarray-sum-equals-k Medium
0724-find-pivot-index Easy
1732-find-the-highest-altitude Easy
3546-equal-sum-grid-partition-i Medium

Two Pointers

Problem Name Difficulty
0042-trapping-rain-water Hard
0061-rotate-list Medium
0125-valid-palindrome Easy
0141-linked-list-cycle Easy
0142-linked-list-cycle-ii Medium
0151-reverse-words-in-a-string Medium
0202-happy-number Easy
0234-palindrome-linked-list Easy
0287-find-the-duplicate-number Medium
0349-intersection-of-two-arrays Easy
0443-string-compression Medium
0567-permutation-in-string Medium
0876-middle-of-the-linked-list Easy
2095-delete-the-middle-node-of-a-linked-list Medium
2540-minimum-common-value Easy
3633-earliest-finish-time-for-land-and-water-rides-i Easy
3635-earliest-finish-time-for-land-and-water-rides-ii Medium
3643-flip-square-submatrix-vertically Easy

Linked List

Problem Name Difficulty
0002-add-two-numbers Medium
0021-merge-two-sorted-lists Easy
0025-reverse-nodes-in-k-group Hard
0061-rotate-list Medium
0092-reverse-linked-list-ii Medium
0114-flatten-binary-tree-to-linked-list Medium
0138-copy-list-with-random-pointer Medium
0141-linked-list-cycle Easy
0142-linked-list-cycle-ii Medium
0146-lru-cache Medium
0206-reverse-linked-list Easy
0234-palindrome-linked-list Easy
0430-flatten-a-multilevel-doubly-linked-list Medium
0876-middle-of-the-linked-list Easy
2095-delete-the-middle-node-of-a-linked-list Medium

Dynamic Programming

Problem Name Difficulty
0042-trapping-rain-water Hard
0118-pascals-triangle Easy
0124-binary-tree-maximum-path-sum Hard
0131-palindrome-partitioning Medium
0396-rotate-function Medium
0788-rotated-digits Medium
3193-count-the-number-of-inversions Hard

Simulation

Problem Name Difficulty
0054-spiral-matrix Medium
0657-robot-return-to-origin Easy
0682-baseball-game Easy
0874-walking-robot-simulation Medium
1260-shift-2d-grid Easy
1910-remove-all-occurrences-of-a-substring Medium
2073-time-needed-to-buy-tickets Easy
2553-separate-the-digits-in-an-array Easy
2596-check-knight-tour-configuration Medium
2946-matrix-similarity-after-cyclic-shifts Easy
3838-weighted-word-mapping Easy

Divide and Conquer

Problem Name Difficulty
0004-median-of-two-sorted-arrays Hard
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0240-search-a-2d-matrix-ii Medium
0493-reverse-pairs Hard
0912-sort-an-array Medium

Enumeration

Problem Name Difficulty
1291-sequential-digits Medium
3546-equal-sum-grid-partition-i Medium

Stack

Problem Name Difficulty
0020-valid-parentheses Easy
0042-trapping-rain-water Hard
0084-largest-rectangle-in-histogram Hard
0094-binary-tree-inorder-traversal Easy
0114-flatten-binary-tree-to-linked-list Medium
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0155-min-stack Medium
0232-implement-queue-using-stacks Easy
0234-palindrome-linked-list Easy
0496-next-greater-element-i Easy
0503-next-greater-element-ii Medium
0682-baseball-game Easy
1910-remove-all-occurrences-of-a-substring Medium

Monotonic Stack

Problem Name Difficulty
0042-trapping-rain-water Hard
0084-largest-rectangle-in-histogram Hard
0496-next-greater-element-i Easy
0503-next-greater-element-ii Medium

Queue

Problem Name Difficulty
0232-implement-queue-using-stacks Easy
0239-sliding-window-maximum Hard
0387-first-unique-character-in-a-string Easy
2073-time-needed-to-buy-tickets Easy

Heap (Priority Queue)

Problem Name Difficulty
0239-sliding-window-maximum Hard
0912-sort-an-array Medium

Monotonic Queue

Problem Name Difficulty
0239-sliding-window-maximum Hard

Binary Indexed Tree

Problem Name Difficulty
0493-reverse-pairs Hard

Segment Tree

Problem Name Difficulty
0493-reverse-pairs Hard

Merge Sort

Problem Name Difficulty
0493-reverse-pairs Hard
0912-sort-an-array Medium

Ordered Set

Problem Name Difficulty
0493-reverse-pairs Hard

Counting

Problem Name Difficulty
0387-first-unique-character-in-a-string Easy
1189-maximum-number-of-balloons Easy
2833-furthest-point-from-origin Easy

Trie

Problem Name Difficulty
0014-longest-common-prefix Easy

Greedy

Problem Name Difficulty
2064-minimized-maximum-of-products-distributed-to-any-store Medium
2078-two-furthest-houses-with-different-colors Easy
2144-minimum-cost-of-buying-candies-with-discount Easy
3633-earliest-finish-time-for-land-and-water-rides-i Easy
3635-earliest-finish-time-for-land-and-water-rides-ii Medium

Tree

Problem Name Difficulty
0094-binary-tree-inorder-traversal Easy
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0110-balanced-binary-tree Easy
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0222-count-complete-tree-nodes Easy
0236-lowest-common-ancestor-of-a-binary-tree Medium
0543-diameter-of-binary-tree Easy
0572-subtree-of-another-tree Easy
0662-maximum-width-of-binary-tree Medium
0783-minimum-distance-between-bst-nodes Easy
1038-binary-search-tree-to-greater-sum-tree Medium
1161-maximum-level-sum-of-a-binary-tree Medium

Depth-First Search

Problem Name Difficulty
0094-binary-tree-inorder-traversal Easy
0100-same-tree Easy
0101-symmetric-tree Easy
0110-balanced-binary-tree Easy
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0236-lowest-common-ancestor-of-a-binary-tree Medium
0430-flatten-a-multilevel-doubly-linked-list Medium
0543-diameter-of-binary-tree Easy
0572-subtree-of-another-tree Easy
0662-maximum-width-of-binary-tree Medium
0783-minimum-distance-between-bst-nodes Easy
1038-binary-search-tree-to-greater-sum-tree Medium
1161-maximum-level-sum-of-a-binary-tree Medium
2596-check-knight-tour-configuration Medium

Binary Tree

Problem Name Difficulty
0094-binary-tree-inorder-traversal Easy
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0105-construct-binary-tree-from-preorder-and-inorder-traversal Medium
0106-construct-binary-tree-from-inorder-and-postorder-traversal Medium
0110-balanced-binary-tree Easy
0114-flatten-binary-tree-to-linked-list Medium
0124-binary-tree-maximum-path-sum Hard
0144-binary-tree-preorder-traversal Easy
0145-binary-tree-postorder-traversal Easy
0222-count-complete-tree-nodes Easy
0236-lowest-common-ancestor-of-a-binary-tree Medium
0543-diameter-of-binary-tree Easy
0572-subtree-of-another-tree Easy
0662-maximum-width-of-binary-tree Medium
0783-minimum-distance-between-bst-nodes Easy
1038-binary-search-tree-to-greater-sum-tree Medium
1161-maximum-level-sum-of-a-binary-tree Medium

String Matching

Problem Name Difficulty
0572-subtree-of-another-tree Easy
0796-rotate-string Easy

Interactive

Problem Name Difficulty
0278-first-bad-version Easy

Breadth-First Search

Problem Name Difficulty
0100-same-tree Easy
0101-symmetric-tree Easy
0102-binary-tree-level-order-traversal Medium
0662-maximum-width-of-binary-tree Medium
0783-minimum-distance-between-bst-nodes Easy
0994-rotting-oranges Medium
1161-maximum-level-sum-of-a-binary-tree Medium
2596-check-knight-tour-configuration Medium

Bucket Sort

Problem Name Difficulty
0912-sort-an-array Medium

Radix Sort

Problem Name Difficulty
0912-sort-an-array Medium

Counting Sort

Problem Name Difficulty
0912-sort-an-array Medium

Recursion

Problem Name Difficulty
0002-add-two-numbers Medium
0021-merge-two-sorted-lists Easy
0025-reverse-nodes-in-k-group Hard
0206-reverse-linked-list Easy
0234-palindrome-linked-list Easy

Doubly-Linked List

Problem Name Difficulty
0146-lru-cache Medium
0430-flatten-a-multilevel-doubly-linked-list Medium

Design

Problem Name Difficulty
0146-lru-cache Medium
0155-min-stack Medium
0232-implement-queue-using-stacks Easy

Binary Search Tree

Problem Name Difficulty
0783-minimum-distance-between-bst-nodes Easy
1038-binary-search-tree-to-greater-sum-tree Medium

Hash Function

Problem Name Difficulty
0572-subtree-of-another-tree Easy

Number Theory

Problem Name Difficulty
3658-gcd-of-odd-and-even-sums Easy

About

A collection of efficient LeetCode solutions covering various coding challenges. Designed for clarity and optimal performance to aid in algorithm practice and interview preparation.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors