Skip to content

A collection of my solutions to Data Structures and Algorithms problems from LeetCode and GeeksforGeeks, covering key topics like arrays, strings, linked lists, recursion, dynamic programming, and graphs

Notifications You must be signed in to change notification settings

marimuthusanthosh/problemSolving

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode

GeeksForGeeks

LeetCode Topics

Array

0001-two-sum
0004-median-of-two-sorted-arrays
0011-container-with-most-water
0015-3sum
0026-remove-duplicates-from-sorted-array
0027-remove-element
0033-search-in-rotated-sorted-array
0035-search-insert-position
0037-sudoku-solver
0039-combination-sum
0040-combination-sum-ii
0042-trapping-rain-water
0045-jump-game-ii
0046-permutations
0048-rotate-image
0049-group-anagrams
0054-spiral-matrix
0055-jump-game
0056-merge-intervals
0057-insert-interval
0059-spiral-matrix-ii
0063-unique-paths-ii
0064-minimum-path-sum
0066-plus-one
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0075-sort-colors
0078-subsets
0079-word-search
0085-maximal-rectangle
0088-merge-sorted-array
0108-convert-sorted-array-to-binary-search-tree
0120-triangle
0122-best-time-to-buy-and-sell-stock-ii
0139-word-break
0169-majority-element
0198-house-robber
0200-number-of-islands
0213-house-robber-ii
0215-kth-largest-element-in-an-array
0216-combination-sum-iii
0217-contains-duplicate
0219-contains-duplicate-ii
0229-majority-element-ii
0238-product-of-array-except-self
0268-missing-number
0283-move-zeroes
0287-find-the-duplicate-number
0322-coin-change
0330-patching-array
0334-increasing-triplet-subsequence
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0368-largest-divisible-subset
0377-combination-sum-iv
0485-max-consecutive-ones
0540-single-element-in-a-sorted-array

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0012-integer-to-roman
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0037-sudoku-solver
0049-group-anagrams
0073-set-matrix-zeroes
0076-minimum-window-substring
0133-clone-graph
0139-word-break
0169-majority-element
0217-contains-duplicate
0219-contains-duplicate-ii
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0387-first-unique-character-in-a-string
0389-find-the-difference

Linked List

0002-add-two-numbers
0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0061-rotate-list
0206-reverse-linked-list
0234-palindrome-linked-list
0237-delete-node-in-a-linked-list
0328-odd-even-linked-list

Math

0002-add-two-numbers
0007-reverse-integer
0009-palindrome-number
0012-integer-to-roman
0013-roman-to-integer
0029-divide-two-integers
0043-multiply-strings
0048-rotate-image
0050-powx-n
0062-unique-paths
0066-plus-one
0070-climbing-stairs
0231-power-of-two
0268-missing-number
0279-perfect-squares
0326-power-of-three
0368-largest-divisible-subset
0371-sum-of-two-integers
1013-fibonacci-number

Recursion

0002-add-two-numbers
0021-merge-two-sorted-lists
0044-wildcard-matching
0050-powx-n
0206-reverse-linked-list
0231-power-of-two
0234-palindrome-linked-list
0326-power-of-three
0394-decode-string
1013-fibonacci-number

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0006-zigzag-conversion
0012-integer-to-roman
0013-roman-to-integer
0014-longest-common-prefix
0017-letter-combinations-of-a-phone-number
0020-valid-parentheses
0022-generate-parentheses
0028-find-the-index-of-the-first-occurrence-in-a-string
0043-multiply-strings
0044-wildcard-matching
0049-group-anagrams
0058-length-of-last-word
0076-minimum-window-substring
0079-word-search
0115-distinct-subsequences
0139-word-break
0151-reverse-words-in-a-string
0242-valid-anagram
0344-reverse-string
0345-reverse-vowels-of-a-string
0387-first-unique-character-in-a-string
0389-find-the-difference
0392-is-subsequence
0394-decode-string
0516-longest-palindromic-subsequence

Sliding Window

0003-longest-substring-without-repeating-characters
0076-minimum-window-substring
0219-contains-duplicate-ii

Binary Search

0004-median-of-two-sorted-arrays
0033-search-in-rotated-sorted-array
0035-search-insert-position
0074-search-a-2d-matrix
0222-count-complete-tree-nodes
0268-missing-number
0287-find-the-duplicate-number
0349-intersection-of-two-arrays
0540-single-element-in-a-sorted-array

Divide and Conquer

0004-median-of-two-sorted-arrays
0108-convert-sorted-array-to-binary-search-tree
0169-majority-element
0191-number-of-1-bits
0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements

Two Pointers

0005-longest-palindromic-substring
0011-container-with-most-water
0015-3sum
0019-remove-nth-node-from-end-of-list
0026-remove-duplicates-from-sorted-array
0027-remove-element
0028-find-the-index-of-the-first-occurrence-in-a-string
0042-trapping-rain-water
0061-rotate-list
0075-sort-colors
0088-merge-sorted-array
0151-reverse-words-in-a-string
0234-palindrome-linked-list
0283-move-zeroes
0287-find-the-duplicate-number
0344-reverse-string
0345-reverse-vowels-of-a-string
0349-intersection-of-two-arrays
0392-is-subsequence

Dynamic Programming

0005-longest-palindromic-substring
0022-generate-parentheses
0042-trapping-rain-water
0044-wildcard-matching
0045-jump-game-ii
0055-jump-game
0062-unique-paths
0063-unique-paths-ii
0064-minimum-path-sum
0070-climbing-stairs
0085-maximal-rectangle
0115-distinct-subsequences
0120-triangle
0122-best-time-to-buy-and-sell-stock-ii
0124-binary-tree-maximum-path-sum
0139-word-break
0198-house-robber
0213-house-robber-ii
0279-perfect-squares
0322-coin-change
0338-counting-bits
0368-largest-divisible-subset
0377-combination-sum-iv
0392-is-subsequence
0516-longest-palindromic-subsequence
1013-fibonacci-number

Greedy

0011-container-with-most-water
0044-wildcard-matching
0045-jump-game-ii
0055-jump-game
0122-best-time-to-buy-and-sell-stock-ii
0330-patching-array
0334-increasing-triplet-subsequence

Trie

0014-longest-common-prefix
0139-word-break
0386-lexicographical-numbers

Backtracking

0017-letter-combinations-of-a-phone-number
0022-generate-parentheses
0037-sudoku-solver
0039-combination-sum
0040-combination-sum-ii
0046-permutations
0078-subsets
0079-word-search
0216-combination-sum-iii

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string

Bit Manipulation

0029-divide-two-integers
0078-subsets
0191-number-of-1-bits
0201-bitwise-and-of-numbers-range
0222-count-complete-tree-nodes
0231-power-of-two
0268-missing-number
0287-find-the-duplicate-number
0338-counting-bits
0371-sum-of-two-integers
0389-find-the-difference
0476-number-complement

Sorting

0015-3sum
0049-group-anagrams
0056-merge-intervals
0075-sort-colors
0088-merge-sorted-array
0169-majority-element
0215-kth-largest-element-in-an-array
0217-contains-duplicate
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0347-top-k-frequent-elements
0349-intersection-of-two-arrays
0368-largest-divisible-subset
0389-find-the-difference

Matrix

0037-sudoku-solver
0048-rotate-image
0054-spiral-matrix
0059-spiral-matrix-ii
0063-unique-paths-ii
0064-minimum-path-sum
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0079-word-search
0085-maximal-rectangle
0200-number-of-islands

Memoization

0070-climbing-stairs
0139-word-break
1013-fibonacci-number

Tree

0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0108-convert-sorted-array-to-binary-search-tree
0124-binary-tree-maximum-path-sum
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst

Breadth-First Search

0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0133-clone-graph
0200-number-of-islands
0226-invert-binary-tree
0279-perfect-squares
0322-coin-change

Binary Tree

0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0108-convert-sorted-array-to-binary-search-tree
0124-binary-tree-maximum-path-sum
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst

Binary Search Tree

0108-convert-sorted-array-to-binary-search-tree
0230-kth-smallest-element-in-a-bst

Stack

0020-valid-parentheses
0042-trapping-rain-water
0085-maximal-rectangle
0234-palindrome-linked-list
0394-decode-string

Monotonic Stack

0042-trapping-rain-water
0085-maximal-rectangle

Simulation

0043-multiply-strings
0054-spiral-matrix
0059-spiral-matrix-ii

Combinatorics

0062-unique-paths

Depth-First Search

0079-word-search
0101-symmetric-tree
0104-maximum-depth-of-binary-tree
0124-binary-tree-maximum-path-sum
0133-clone-graph
0200-number-of-islands
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0386-lexicographical-numbers

Counting

0169-majority-element
0229-majority-element-ii
0347-top-k-frequent-elements
0387-first-unique-character-in-a-string

Graph

0133-clone-graph

Union Find

0200-number-of-islands

Heap (Priority Queue)

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements

Quickselect

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements

Prefix Sum

0238-product-of-array-except-self

Queue

0387-first-unique-character-in-a-string

Bucket Sort

0347-top-k-frequent-elements

About

A collection of my solutions to Data Structures and Algorithms problems from LeetCode and GeeksforGeeks, covering key topics like arrays, strings, linked lists, recursion, dynamic programming, and graphs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published