- https://www.interviewbit.com/tutorial/time-complexity-of-a-computer-program/#time-complexity-of-a-computer-program
- https://www.geeksforgeeks.org/understanding-time-complexity-simple-examples/
- https://www.geeksforgeeks.org/g-fact-86/
- https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods/
- https://www.geeksforgeeks.org/program-to-check-the-number-is-palindrome-or-not/
- https://www.geeksforgeeks.org/mathematical-algorithms/?ref=ghm#factorial
- https://www.geeksforgeeks.org/mathematical-algorithms/?ref=ghm#gcd
- https://www.geeksforgeeks.org/mathematical-algorithms/?ref=ghm#gcd
- https://www.hackerearth.com/practice/notes/euclid-algorithm-made-easy-1/
- https://www.geeksforgeeks.org/mathematical-algorithms/?ref=ghm#prime
- https://www.geeksforgeeks.org/mathematical-algorithms/?ref=ghm#factors
- https://www.geeksforgeeks.org/sieve-of-eratosthenes/
- https://www.techiedelight.com/power-function-implementation-recursive-iterative/
Easy
- Power of Two
- Fizz Buzz
- Excel Sheet Column Number
- Add Binary
- Happy Number
- Matching Pair
- Count of integers
- Maximum Product of Three Numbers
Medium
- https://leetcode.com/problems/reverse-integer/
- https://leetcode.com/problems/minimum-moves-to-equal-array-elements/
- https://leetcode.com/problems/valid-square/
- https://leetcode.com/problems/encode-and-decode-tinyurl/
- https://leetcode.com/problems/string-to-integer-atoi/
- https://leetcode.com/problems/multiply-strings/
- https://leetcode.com/problems/angle-between-hands-of-a-clock/
- https://leetcode.com/problems/integer-break/
Easy
- https://leetcode.com/problems/two-sum/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
- https://leetcode.com/problems/plus-one/
- https://leetcode.com/problems/move-zeroes/
- https://leetcode.com/problems/running-sum-of-1d-array/
- https://leetcode.com/problems/find-pivot-index/
- https://leetcode.com/problems/majority-element/
- https://leetcode.com/problems/fibonacci-number/
- https://leetcode.com/problems/squares-of-a-sorted-array/
- https://leetcode.com/problems/pascals-triangle/
- https://leetcode.com/problems/remove-duplicates-from-sorted-array/
Medium
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
- https://leetcode.com/problems/merge-intervals/
- https://leetcode.com/problems/3sum/
- https://leetcode.com/problems/product-of-array-except-self/
- https://leetcode.com/problems/insert-delete-getrandom-o1/
- https://leetcode.com/problems/subarray-sum-equals-k/
- https://leetcode.com/problems/next-permutation/
- https://leetcode.com/problems/spiral-matrix/
- https://leetcode.com/problems/container-with-most-water/
- https://leetcode.com/problems/rotate-image/
- https://leetcode.com/problems/word-search/
- https://leetcode.com/problems/3sum-closest/
- https://leetcode.com/problems/game-of-life/
- https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/
- https://leetcode.com/problems/4sum/
- https://leetcode.com/problems/find-the-duplicate-number/
- https://leetcode.com/problems/combination-sum/
- https://leetcode.com/problems/jump-game-ii/
- https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/
- https://leetcode.com/problems/maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/
- https://leetcode.com/problems/max-area-of-island/
- https://leetcode.com/problems/find-all-duplicates-in-an-array/
- https://leetcode.com/problems/k-diff-pairs-in-an-array/
- https://leetcode.com/problems/subsets/
- https://leetcode.com/problems/invalid-transactions/
- https://leetcode.com/problems/jump-game/
- https://leetcode.com/problems/subarray-sums-divisible-by-k/
Hard
- https://leetcode.com/problems/first-missing-positive/
- https://leetcode.com/problems/largest-rectangle-in-histogram/
- https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/
- https://leetcode.com/problems/max-value-of-equation/
Medium
- https://leetcode.com/problems/partition-labels/
- https://leetcode.com/problems/sort-colors/
- https://leetcode.com/problems/longest-repeating-character-replacement/
Hard
- https://leetcode.com/problems/maximum-number-of-visible-points/
- https://leetcode.com/problems/subarrays-with-k-different-integers/
Easy
- https://leetcode.com/problems/sqrtx/
- https://leetcode.com/problems/binary-search/
- https://leetcode.com/problems/count-negative-numbers-in-a-sorted-matrix/
- https://leetcode.com/problems/peak-index-in-a-mountain-array/
Medium
- https://leetcode.com/problems/time-based-key-value-store/
- https://leetcode.com/problems/search-in-rotated-sorted-array/
- https://leetcode.com/problems/powx-n/
- https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
- https://leetcode.com/problems/find-peak-element/
- https://leetcode.com/problems/search-a-2d-matrix/
- https://leetcode.com/problems/divide-two-integers/
- https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/
- https://leetcode.com/problems/minimum-limit-of-balls-in-a-bag/
Hard
- https://leetcode.com/problems/median-of-two-sorted-arrays/
- https://leetcode.com/problems/count-of-smaller-numbers-after-self/
- https://leetcode.com/problems/max-sum-of-rectangle-no-larger-than-k/
- https://leetcode.com/problems/split-array-largest-sum/
- https://leetcode.com/problems/shortest-subarray-with-sum-at-least-k/
- Arrays.sort() in Java
- Collections.sort() in Java
- Implementation of C++ STL sort in Arrays and Vectors
- C qsort vs c++ sor
- Stability in sorting algorithm
- Bubble sort
- Selection sort
- Insertion sort
- Merge sort
- Quick sort
- Heap sort
- Cycle sort
- Counting sort
- Radix sort
- Bucket sort
Easy
- Reverse a LinkedList
- Find middle of LinkedList
- Merge two sorted Linked List
- Delete a given Node when a node is given. (0(1) solution)
- Find intersection point of Y LinkedList
- Check if a LinkedList is palindrome or not
Medium
- Remove N-th node from back of LinkedList
- Add two numbers as LinkedList
- Detect a cycle and removing loop(two different questions and same concept)
- Flattening of a LinkedList
- Rotate a LinkedList
- Clone a Linked List with random and next pointer
Hard
- https://www.hackerearth.com/practice/data-structures/stacks/basics-of-stacks/tutorial/
- https://www.geeksforgeeks.org/stack-data-structure-introduction-program/
- https://www.hackerearth.com/practice/data-structures/queues/basics-of-queues/tutorial/
- https://www.geeksforgeeks.org/queue-data-structure/
Easy
- https://leetcode.com/problems/next-greater-element-i/
- https://leetcode.com/problems/implement-stack-using-queues/
- https://leetcode.com/problems/implement-queue-using-stacks/
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/min-stack/
Medium
- https://leetcode.com/problems/next-greater-element-ii/
- https://practice.geeksforgeeks.org/problems/fab3dbbdce746976ba35c7b9b24afde40eae5a04/1/
- https://leetcode.com/problems/lru-cache/
Hard
- https://leetcode.com/problems/largest-rectangle-in-histogram/
- https://leetcode.com/problems/sliding-window-maximum/
Easy
- https://leetcode.com/problems/diameter-of-binary-tree/
- https://leetcode.com/problems/invert-binary-tree/
- https://leetcode.com/problems/subtree-of-another-tree/
- https://leetcode.com/problems/symmetric-tree/
- https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
- https://leetcode.com/problems/merge-two-binary-trees/
- https://leetcode.com/problems/maximum-depth-of-binary-tree/
- https://leetcode.com/problems/binary-tree-paths/
- https://leetcode.com/problems/same-tree/
- https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/
- https://leetcode.com/problems/path-sum/
- https://leetcode.com/problems/minimum-absolute-difference-in-bst/
- https://leetcode.com/problems/sum-of-left-leaves/
- https://leetcode.com/problems/balanced-binary-tree/
Medium
- https://leetcode.com/problems/maximum-width-of-binary-tree/
- https://leetcode.com/problems/count-good-nodes-in-binary-tree/
- https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/
- https://leetcode.com/problems/binary-tree-right-side-view/
- https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/
- https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
- https://leetcode.com/problems/binary-search-tree-iterator/
- https://leetcode.com/problems/binary-tree-level-order-traversal/
- https://leetcode.com/problems/path-sum-iii/
- https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/
- https://leetcode.com/problems/populating-next-right-pointers-in-each-node/
- https://leetcode.com/problems/flatten-binary-tree-to-linked-list/
- https://leetcode.com/problems/maximum-width-of-binary-tree/
Hard
Easy
- https://leetcode.com/problems/range-sum-of-bst/
- https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
- https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/
- https://leetcode.com/problems/minimum-absolute-difference-in-bst/
Medium
- https://leetcode.com/problems/validate-binary-search-tree/
- https://leetcode.com/problems/unique-binary-search-trees-ii/
- https://leetcode.com/problems/kth-smallest-element-in-a-bst/
- https://leetcode.com/problems/unique-binary-search-trees/
- https://leetcode.com/problems/recover-binary-search-tree/
Easy
Medium
- https://www.geeksforgeeks.org/nearly-sorted-algorithm/
- https://leetcode.com/problems/kth-largest-element-in-an-array/
- https://leetcode.com/problems/top-k-frequent-elements/
- https://leetcode.com/problems/task-scheduler/
- https://leetcode.com/problems/network-delay-time/
Hard
- https://www.geeksforgeeks.org/merge-k-sorted-arrays/
- https://leetcode.com/problems/find-median-from-data-stream/
- https://leetcode.com/problems/merge-k-sorted-lists/
- https://leetcode.com/problems/the-skyline-problem/
- https://www.geeksforgeeks.org/greedy-algorithms/
- https://youtu.be/zADj0k0waFY
- https://www.hackerearth.com/practice/algorithms/greedy/basics-of-greedy-algorithms/tutorial/
- https://youtu.be/lfQvPHGtu6Q
- https://youtu.be/nRB7RsK-GOw
Easy
Medium
- Fractional Knapsack Proble
- Minimum number of platforms required for a railway
- Job sequencing Problem
- https://www.hackerearth.com/practice/basic-programming/bit-manipulation/basics-of-bit-manipulation/tutorial/
- https://youtu.be/5rtVTYAk9KQ
- https://www.geeksforgeeks.org/all-about-bit-manipulation/?ref=gcse
- https://youtu.be/Db8OmMfzwl8
Easy
Medium
- https://www.geeksforgeeks.org/backtracking-algorithms/?ref=ghm
- Knight Tour Problem
- Subset Sum
- Rat In a Maze
- N Queen problem
- Sudoku problem
Medium
- https://leetcode.com/problems/letter-combinations-of-a-phone-number/
- https://leetcode.com/problems/generate-parentheses/
- https://leetcode.com/problems/permutations/
- https://leetcode.com/problems/combination-sum/
- https://leetcode.com/problems/combinations/
- https://leetcode.com/problems/subsets/
- https://leetcode.com/problems/gray-code/
- https://leetcode.com/problems/unique-binary-search-trees-ii/
Hard
- https://www.geeksforgeeks.org/dynamic-programming/
- https://youtu.be/PHmgyQVKduc
- https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-dynamic-programming-1/tutorial/
- https://www.youtube.com/watch?v=tyB0ztf0DNY&list=PLgUwDviBIf0qUlt5H_kiKYaNSqJ81PMMY&index=2
- https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patterns
- https://www.youtube.com/watch?v=mmjDZGSr7EA&list=PLqM7alHXFySGbXhWx7sBJEwY2DnhDjmxm
- https://leetcode.com/discuss/general-discussion/662866/Dynamic-Programming-for-Practice-Problems-Patterns-and-Sample-Solutions
Easy
Medium
- Max Product Subarray
- Longest Increasing Subsequence
- Longest Common Subsequence
- 0-1 Knapsack
- Maximum sum increasing subsequence
- Maximum sum path in matrix, (count paths, and similar type do, also backtrack to find the maximum path)
- Coin change
- Subset Sum
- Word Break
Hard
- Inroduction
- Representation
- Breadth First Search
- Depth First Search
- Shortest path in Directed Acyclic Graph
- Prim's Algorithm/Minimum Spanning Tree
- Dijkstra's Algorithm
- Bellman-Ford shortest path algorithm
- Kruskal's Algorithm
- Boruvka’s algorithm
- Floyd Warshall
- Kosaraju's algorithm
- Articulation point
- Bridges in graph
- Tarjan's ALgorithm
- Eulerian path and circuit
- Topological Sort
- Find and Union operations
- Union by rank
- Path compression
Easy
Medium
- https://leetcode.com/problems/clone-graph/
- https://leetcode.com/problems/course-schedule/
- https://leetcode.com/problems/minimum-height-trees/
- https://leetcode.com/problems/evaluate-division/
- https://leetcode.com/problems/number-of-provinces/
- https://leetcode.com/problems/redundant-connection/
- https://leetcode.com/problems/network-delay-time/
- https://leetcode.com/problems/is-graph-bipartite/
- https://leetcode.com/problems/cheapest-flights-within-k-stops/
- https://leetcode.com/problems/find-eventual-safe-states/
- https://leetcode.com/problems/keys-and-rooms/
- https://leetcode.com/problems/possible-bipartition/
- https://leetcode.com/problems/satisfiability-of-equality-equations/
- https://leetcode.com/problems/number-of-operations-to-make-network-connected/
- https://leetcode.com/problems/regions-cut-by-slashes/
Hard
- https://leetcode.com/problems/reconstruct-itinerary/
- https://leetcode.com/problems/reachable-nodes-in-subdivided-graph/
- https://leetcode.com/problems/critical-connections-in-a-network/
- https://leetcode.com/problems/frog-position-after-t-seconds/
- https://leetcode.com/problems/parallel-courses-ii/
- https://leetcode.com/problems/word-ladder/
- https://leetcode.com/problems/word-ladder-ii/
- https://leetcode.com/problems/cut-off-trees-for-golf-event/
- https://leetcode.com/problems/reachable-nodes-in-subdivided-graph/
Easy
- https://leetcode.com/problems/add-strings/
- https://leetcode.com/problems/longest-common-prefix/
- https://leetcode.com/problems/valid-palindrome-ii/
- https://leetcode.com/problems/roman-to-integer/
- https://leetcode.com/problems/implement-strstr/
Medium
- https://www.geeksforgeeks.org/rabin-karp-algorithm-for-pattern-searching/
- https://leetcode.com/problems/longest-substring-without-repeating-characters/
- https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/
- https://leetcode.com/problems/longest-palindromic-substring/
- https://leetcode.com/problems/group-anagrams/
- https://leetcode.com/problems/generate-parentheses/
- https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/
Hard
- https://www.geeksforgeeks.org/kmp-algorithm-for-pattern-searching/
- https://www.geeksforgeeks.org/z-algorithm-linear-time-pattern-searching-algorithm/
- https://leetcode.com/problems/sliding-window-median/
Medium
- https://leetcode.com/problems/implement-trie-prefix-tree/
- https://www.geeksforgeeks.org/longest-prefix-matching-a-trie-based-solution-in-java/
- https://www.geeksforgeeks.org/implement-reverse-dns-look-cache/
- https://www.geeksforgeeks.org/implement-forward-dns-look-cache/
- https://leetcode.com/problems/remove-sub-folders-from-the-filesystem/
Hard
- https://www.geeksforgeeks.org/print-unique-rows/
- https://leetcode.com/problems/stream-of-characters/
Medium
Hard
- Introduction
- Two Dimensional Binary Indexed Tree or Fenwick Tree
- Range Updates and Point Queries
- Range Update and Range Queries
Medium