- Arrays
- Strings
- Linked Lists
- Stacks and Queues
- Trees
- Graphs
- Dynamic Programming
- Sorting and Searching
- Bit Manipulation
- Backtracking
- Miscellaneous
- Find the maximum subarray sum (Kadane's Algorithm).
- Rotate an array by k steps.
- Merge two sorted arrays.
- Find the duplicate number in an array containing n+1 integers.
- Implement a function to find the intersection of two arrays.
- Sort an array of 0s, 1s, and 2s (Dutch National Flag problem).
- Find the smallest subarray with a sum greater than a given value.
- Implement a binary search algorithm.
- Find the median of two sorted arrays.
- Maximum product subarray.
- LeetCode 303: Range Sum Query – Immutable
- LeetCode 560: Subarray Sum Equals K
- LeetCode 238: Product of Array Except Self
- LeetCode 325: Maximum Size Subarray Sum Equals k
- GFG: Longest Subarray With Sum K
- LeetCode 974: Subarray Sums Divisible by K
- Leetcode Practice: Prefix Sum Problems on Leetcode
- GeeksforGeeks Practice: Prefix Sum Problems on GFG
- Check if two strings are anagrams.
- Reverse a string without affecting special characters.
- Implement a function to check if a string is a palindrome.
- Longest substring without repeating characters.
- Longest palindromic substring.
- Implement strstr() or indexOf().
- Group anagrams from a list of strings.
- Count and say problem.
- Find the minimum window substring.
- Roman to Integer conversion.
- Reverse a singly linked list.
- Detect and remove a cycle in a linked list.
- Merge two sorted linked lists.
- Find the intersection of two linked lists.
- Remove nth node from the end of the list.
- Clone a linked list with random pointers.
- Flatten a multilevel doubly linked list.
- Add two numbers represented by linked lists.
- Find the middle node of a linked list.
- Check if a linked list is a palindrome.
- Implement a stack using arrays or linked lists.
- Implement a queue using two stacks.
- Next greater element in an array.
- Valid parentheses problem.
- Implement a circular queue.
- Sort a stack using recursion.
- LRU Cache implementation.
- Evaluate a postfix expression.
- Sliding window maximum.
- Min stack implementation.
- Implement in-order, pre-order, and post-order traversal.
- Level-order traversal of a binary tree.
- Find the height of a binary tree.
- Check if a binary tree is balanced.
- Lowest common ancestor of two nodes in a binary tree.
- Serialize and deserialize a binary tree.
- Binary search tree validation.
- Kth smallest element in a BST.
- Path sum problems.
- Convert a binary tree to a doubly linked list.
- Implement depth-first search (DFS) and breadth-first search (BFS).
- Detect a cycle in a directed and undirected graph.
- Find the shortest path in an unweighted graph.
- Implement Dijkstra's algorithm.
- Implement Kruskal's and Prim's algorithms for MST.
- Topological sort of a directed acyclic graph (DAG).
- Number of islands problem.
- Word ladder problem.
- Floyd-Warshall algorithm.
- Check if a graph is bipartite.
- Longest increasing subsequence.
- 0/1 Knapsack problem.
- Coin change problem.
- Longest common subsequence.
- Edit distance problem.
- Maximum profit in a rod cutting problem.
- Matrix chain multiplication.
- Subset sum problem.
- Maximum sum increasing subsequence.
- Decode ways.
- Palindrome Partitioning II.
- Count Number of Texts.
- Quick sort implementation.
- Merge sort implementation.
- Heap sort implementation.
- Binary search variations (lower bound, upper bound).
- Search in a rotated sorted array.
- Find the kth largest element in an array.
- Count inversions in an array.
- Find the peak element.
- Median in a stream of integers.
- Aggressive cows (binary search problem).
- Check if a number is a power of two.
- Count the number of set bits in an integer.
- Find the single number in an array where every other number appears twice.
- XOR of all numbers from 1 to n.
- Swap two numbers without using a temporary variable.
- Find the two non-repeating elements in an array of repeating elements.
- Reverse bits of a given 32-bit unsigned integer.
- Find the missing number in an array.
- Implement bitwise AND of numbers range.
- Power of two, three, or four determination using bitwise operations.
- Solve the N-Queens problem.
- Sudoku solver.
- Word search in a 2D grid.
- Generate all subsets of a set (power set).
- Generate all permutations of a string.
- Rat in a maze problem.
- M-coloring problem.
- Knight's tour problem.
- Hamiltonian path and cycle problem.
- Find all palindrome partitioning of a string.
- Letter Combinations of a Phone Number
- Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- Implement an LFU Cache.
- Find the maximum meetings in one room.
- Implement a trie (prefix tree) and its operations.
- Find the maximum profit in stock buy and sell.
- Median of a data stream.
- Count distinct elements in every window of size k.
- Coding Practice Platforms: Use platforms like LeetCode, HackerRank, Codeforces, or GeeksforGeeks for coding practice.
- Time Complexity: Always analyze the time and space complexity of your solution.
- Mock Interviews: Conduct mock interviews to assess your problem-solving and coding skills.