Skip to content

The repository contains solutions to various problems on GeekForGeeks.

Notifications You must be signed in to change notification settings

nkits9/DSA-Solved-Problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSA-Solved-Problems

I have solved quite number of problems from GFG, Leetcode and in other platforms, in this repository i will be sharing solution to some important question to build command over Data Structure and Algorithm, the solution to problems are highly optimised and concise. This repository can be used as help for those who are new to competitive programming. The code is merely a snippet (as solved on GFG) & hence is not executable in a c++ compiler.

Topic-Wise

Array

# Title Solution Time Space Difficulty Tag
1 Count pairs with given sum Solution Easy
2 Find Missing And Repeating Solution O(n) O(1) Medium 🌟
3 Merge Without Extra Space Solution Hard
4 Container With Most Water Solution O(n) O(1) Medium
5 Count Primes Solution O(n) O(n) Easy Sieve of Eratosthenes
6 Sort an array of 0s, 1s and 2s Solution O(n) O(1) Medium
7 Kth Largest Element in an Array Solution O(n) O(1) Medium Quickselect
8 First Missing Positive Solution O(n) O(1) Hard
18 Maximum Product Subarray Solution O(n) O(1) Medium

String

# Title Solution Time Space Difficulty Tag

Linked List

# Title Solution Time Space Difficulty Tag
1 Remove loop in Linked List Solution O(n) O(1) Medium
2 Delete without head pointer Solution O(n) O(1) Medium
3 Intersection Point in Y Shapped Linked Lists Solution O(n) O(1) Medium
4 Reverse a Linked List in groups of given size Solution O(n) O(1) Medium
5 Flattening a Linked List Solution O(m*n) O(m+n) Medium
6 *Merge Sort for Linked Lists Solution O(nlogn) O(n) Easy
7 *Sort Linked List of 0s, 1s, and 2s Solution O(n) O(1) Easy
8 *Add two numbers represented by linked lists Solution O(n) O(1) Easy
9 Pairwise swap elements of a linked list Solution O(n) O(1) Easy
10 Decimal Equivalent of Binary Linked List Solution O(n) O(1) Easy
11 Merge two sorted linked lists Solution O(n) O(1) Easy
12 Rotate a Linked List Solution O(n) O(1) Easy
13 Check if Linked List is Palindrome Solution O(n) O(n) Easy
14 Nth node from end of linked list Solution O(n) O(1) Easy
15 Detect Loop in linked list Solution O(n) O(1) Easy
16 Reverse a linked list Solution O(n) O(1) Easy
17 Finding middle element in a linked list Solution O(n) O(1) Basic

Stack and Queue

# Title Solution Time Space Difficulty Tag
1 Longest valid Parentheses Solution O(n) O(n) Hard
2 Maximum of all subarrays of size k Solution O(n) O(n) Medium
3 Minimum Remove to Make Valid Parentheses Solution O(n) O(n) Medium
4 Parenthesis Checker Solution O(n) O(n) Medium
5 Decode String Solution O(n) O(n) Medium
6 *Get minimum element from stack Solution O(1) O(1) Medium
7 Largest Rectangle in Histogram Solution O(n) O(n) Medium
8 Maximal Rectangle Solution O(n^2) O(n) Hard
9 *Next larger element Solution O(n) O(n) Medium
10 Circular tour Solution O(n) O(n) Medium
11 Infix to Postfix Solution O(n) O(n) Medium
12 Evaluation of Postfix Expression Solution O(n) O(n) Easy
13 Sort a stack Solution O(n^2) O(n) Easy
14 Delete middle element of a stack Solution O(n) O(n) Easy
15 Stack using two queues Solution O(n) O(1) Easy
16 Queue using two Stacks Solution O(n) O(1) Easy
17 Implement two stacks in an array Solution O(1) O(1) Easy
18 Implement Queue using Linked List Solution O(1) O(1) Basic
19 Implement Stack using Linked List Solution O(1) O(1) Basic
20 Implement Queue using array Solution O(1) O(1) Basic
21 Implement stack using array Solution O(1) O(1) Basic

Binary Tree

# Title Solution Time Space Difficulty Tag
1 Binary Tree to DLL Solution O(H) O(H) Hard
2 Maximum Path Sum between 2 Leaf Nodes Solution O(n) O(H) Hard DP on trees
3 Maximum Path Sum from any node to any node Solution O(n) O(H) Hard DP on trees
4 Diameter of Binary Tree Solution O(n) O(n) Easy DP on trees
5 Construct Binary Tree from Preorder and Inorder Traversal Solution O(n) O(n) Medium
6 Top View of Binary Tree Solution O(n) O(n) Medium
7 Right View of Binary Tree Solution O(n) O(n) Medium
8 Vertical Traversal of Binary Tree Solution O(n) O(n) Medium
9 Connect Nodes at Same Level Solution O(n) O(n) Medium
10 Diagonal Sum In Binary Tree Solution O(n) O(n) Easy
11 Symmetric Tree Solution O(n) O(n) Easy
12 Level order traversal in spiral form Solution O(n) O(n) Easy
13 Level order traversal Line by Line Solution O(n) O(n) Easy
14 Level order traversal Solution O(n) O(n) Easy
15 Height of Binary Tree, Number of Leaves Solution O(n) O(n) Basic
16 Preorder, Inorder and Postorder Traverasal Solution O(n) O(n) Basic

Binary Search Tree

# Title Solution Time Space Difficulty Tag
1 Array to BST Solution O(n) O(n) Easy
2 Insert a node in a BST Solution O(n) O(n) Easy
3 Lowest Common Ancestor in a BST Solution O(n) O(n) Easy
4 Inorder Successor in BST Solution O(H) O(1) Easy
5 Delete a node from BST Solution O(H) O(H) Medium
6 Check for BST Solution O(n) O(H) Medium
7 Merge Two Binary Trees Solution O(n) O(n) Medium
8 Largest BST Solution O(n) O(H) Medium
9 Balance a Binary Search Tree Solution O(n) O(n) Medium
10 Maximum Sum BST in Binary Tree Solution O(n) O(H) Medium

Heap

# Title Solution Time Space Difficulty Tag
1 Find median in a stream Solution O(nlogn) O(n) Hard
2 *Huffman Encoding Solution O(nlogn) O(n) Medium
3 *Merge k Sorted Arrays Solution O(nklogk) O(n) Medium
4 *Merge K sorted linked lists Solution O(nklogk) O(n) Medium
5 Minimum Cost of ropes Solution O(nlogn) O(n) Medium
6 Reorganize String Solution O(nlogn) O(n) Medium
7 Kth largest element in a stream Solution O(nlogk) O(n) Medium
8 *Is Binary Tree Heap Solution O(n) O(n) Easy
9 Binary Heap Operations Solution O(Q*H ) O(1) Easy
10 Heap Sort Solution O(nlogn) O(1) Easy
11 Huffman Decoding Solution O(n) O(n) Easy

Recursion

# Title Solution Time Space Difficulty Tag

Hashing

# Title Solution Time Space Difficulty Tag
1 Relative Sorting Solution O(nlogn) O(n) Medium
2 Longest Consecutive Sequence Solution O(n) O(n) Medium
3 Sorting Elements of an Array by Frequency Solution O(nlogn) O(n) Medium
4 Longest Substring Without Repeating Characters Solution O(n) O(n) Medium 🌟
5 Partition Labels Solution O(n) O(n) Medium
6 Longest Sub-Array with Sum K Solution O(n) O(n) Medium

Graph

# Title Solution Time Space Difficulty Tag
1 Minimum Cost Path Solution O(VLogV) O(V) Hard
2 Hamiltonian Path Solution O(V^V) O(V+E) Medium
3 Bipartite Graph Solution O(V+E) O(V+E) Medium
4 Prims Minimum Spanning Tree Solution O(V^2) O(V^2) Medium
5 Kruskal’s Minimum Spanning Tree Solution O(V) O(ElogE) Medium
6 Detect cycle in an undirected graph Solution O(V+E) O(V+E) Medium Union Find
7 Detect cycle in a directed graph Solution O(V+E) O(V+E) Medium
8 Detect cycle in an undirected graph Solution O(V+E) O(V+E) Medium
9 Floyd Warshall Solution O(V^3) O(V^2) Medium
10 Negative weight cycle Solution O(V*E) O(V) Medium
11 Implementing Dijkstra Solution O(Elog(V)) O(V) Medium
12 Flood fill Algorithm Solution O(E) O(V^2) Medium
13 Find the number of islands Solution O(n*m) O(n*m) Medium
14 Unit Area of largest region of 1's Solution O(n*m) O(n*m) Medium
15 Snake and Ladder Problem Solution O(N) O(N) Medium
16 Knight Walk Solution O(n*m) O(n*m) Medium
17 X Total Shapes Solution O(n*m) O(n*m) Medium
18 Rotten Oranges Solution O(n*m) O(n*m) Medium
19 Shortest Source to Destination Path Solution O(n*m) O(n*m) Medium
20 Distance of nearest cell having 1 Solution O(n*m) O(n*m) Medium
21 Strongly Connected Components (Kosaraju's Algo) Solution O(V+E) O(V+E) Medium
22 Topological sort Solution O(V+E) O(V+E) Medium
23 *Villain Con Solution O(V+E) O(V+E) Easy
24 Mother Vertex Solution O(V+E) O(V+E) Easy
25 Count the paths Solution O(V^V) O(V^V) Easy
26 DFS of graph Solution O(V+E) O(V+E) Easy
27 BFS of graph Solution O(V+E) O(V+E) Easy
28 Print adjacency list Solution O(V+E) O(V+E) Easy

Greedy

# Title Solution Time Space Difficulty Tag
1 *Water Connection Problem Solution O(n) O(n) Medium
2 Coin Piles Solution O(n^2) O(n) Medium
3 Minimum Platforms Solution O(nlogn) O(n) Medium
4 Minimize the heights Solution O(nlogn) O(n) Medium
5 Job Sequencing Problem Solution O(n^2) O(n) Medium
6 Activity Selection Solution O(nlogn) O(n) Easy
7 *Minimum Swaps for Bracket Balancing Solution O(n) O(n) Easy

Divide and Conquer

# Title Solution Time Space Difficulty Tag
1 Binary Search Solution O(logn) O(1) Basic
2 Merge Sort Solution O(nlogn) O(n) Easy
3 Quick Sort Solution O(nlogn) O(n) Easy
4 Search in a Rotated Array Solution O(logn) O(n) Easy
5 Modular Exponentiation for large numbers Solution O(logn) O(n) Medium
6 The Nth Fibonnaci Solution O(logn) O(n) Easy
7 Largest-prime-factor Solution Medium

Backtracking

# Title Solution Time Space Difficulty Tag
1 Combination Sum Solution Medium
2 Combination Sum - 2 Solution Medium
3 Solve the Sudoku Solution O(9^(n^2)) O(n^2) Hard

Dynamic Programming

# Title Solution Time Space Difficulty Tag
1 0 - 1 Knapsack Problem Solution O(2^n) O(m*n) Medium
2 Subset Sum Problem Medium
3 Partition Equal Subset Sum Solution O(2^n) O(m*n) Medium
4 Target Sum Solution O(2^n) O(m*n) Medium
5 Count of Subsets Sum Medium
6 Minimum Subset Sum Difference Hard
7 Count the number of subsets with given difference Medium
8 Rod Cutting Problem Easy
9 Coin Change - I Solution O(S*n) O(n) Medium
10 Coin Change - II Medium
11 Longest Repeating Subsequence Medium
12 Longest Common Subsequence Solution O(2^n) O(m*n) Medium
13 Shortest Common Supersequence Hard
14 Longest Common Substring Medium
15 Longest Palindromic Substring Solution O(n^2) O(1) Medium
16 Longest Palindromic Subsequence Solution O(n^2) O(n^2) Medium
17 Minimum Insertion Steps to Make a String Palindrome Solution O(n^2) O(n^2) Hard
18 Longest Increasing Subsequence Solution O(n^2) O(n^2) Medium
19 Minimum number of deletions and insertions Medium
20 Edit Distance Hard
21 Matrix Chain Multiplication Hard
22 Palindrome Partitioning II Hard
23 Evaluate Expression to True Hard
24 Egg Dropping Problem Hard
25 Burst Balloon Hard
26 House Robber Solution O(n) O(n) Easy
27 House Robber II Solution O(n) O(n) Medium
28 House Robber III Medium
29 Unique Paths II Solution O(m*n) O(1) Medium
30 Frog Jump Hard
31 Minimum Path Sum Medium
32 Cherry Pickup Hard
33 Minimum Falling path sum Medium
34 Triangle Medium
35 Maximal Square Solution O(n*m) O(n*m) Medium
36 Trapping Rain Water Solution O(n) O(n) Hard
37 Perfect Squares Solution O(n*sqrt(n)) O(1) Medium
38 Word Break Solution O(n^2) O(n) Medium
39 Jump Game II Medium
40 Unique BST Medium
41 Maximum Profit in Job Scheduling Solution O(n^2) O(n) Hard
42 Best Time to Buy and Sell Stock Solution O(n) O(1) Easy Kadane's Algorithm

Sliding Window

# Title Solution Time Space Difficulty Tag
1 Minimum Window Substring Solution O(n) O(n) Hard Variable Size SW
2 Longest Substring Without Repeating Characters Solution O(n) O(n) Medium Variable Size SW
3 Pick Toys Solution O(n) O(n) Medium Variable Size SW
4 Longest K unique characters substring Solution O(n) O(n) Easy Variable Size SW
5 Sliding Window Maximum Solution O(n) O(k) Hard Fixed Size SW
6 Count Occurences of Anagrams Solution O(n) O(k) Medium Fixed Size SW
7 First negative in every window of size k Solution O(n) O(k) Easy Fixed Size SW
8 Max Sum Subarray of size K Solution O(n) O(1) Basic Fixed Size SW

🤝 Contributing

1. Fork the repository 
2. Do the desired changes (add/delete/modify)
3. Make a pull request

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Author

👤 Ankit Sharma

✉️ [email protected]

About

The repository contains solutions to various problems on GeekForGeeks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages