This repository contains all lab work for the Algorithms and Problem Solving course.
Each lab focuses on a key concept with implementation in Python using Jupyter Notebooks.
| Lab No. | Topic | Date | File |
|---|---|---|---|
| Lab 1 | Algorithm Basics | 12 Jan 26 | Open |
| Lab 2 | Algorithm Basics | 19 Jan 26 | Open |
| Lab 3 | Growth of Function | 2 Feb 26 | Open |
| Lab 4 | Searching | 2 Feb 26 | Open |
| Lab 5 | Divide and Conquer (Sorting) | 16 Feb 26 | Open |
| Lab 6 | Divide and Conquer (Sorting) | 23 Feb 26 | Open |
| Lab 7 | Greedy Knapsack Problem (Fractional) | 23 Feb 26 | Open |
| Lab 8 | Minimum Cost Spanning Tree | 16 March 26 | Open |
| Lab 9 | Shortest Path Using Dijkstra Algorithm in Python | 6 April 26 | Open |
| Lab 10 | Warshall Algorithm | Open | |
| Lab 11 | Travelling Salesman Problem using Dynamic Programming | Open | |
| Lab 12 | Matrix Chain Multiplication (Dynamic Programming with Table Filling) | Open |
- Python
- Jupyter Notebook
- Algorithm Basics
- Time Complexity & Growth of Functions
- Searching Algorithms
- Sorting (Divide and Conquer)
- Greedy Algorithms
- Minimum Spanning Tree
- Shortest Path Algorithms
- Dynamic Programming
Darshika Shrivastava
| # | Problem | Difficulty | Code |
|---|---|---|---|
| 1 | Rotate Array | Med | Code |
| 2 | Container With Most Water | Med | Code |
| 3 | Single Element in a Sorted Array | Med | Code |
| 4 | Find Peak Element | Med | Code |
| 5 | Jump Game II | Med | Code |
| 6 | Jump Game | Med | Code |
| 7 | Longest Substring Without Repeating Characters | Med | Code |
| 8 | Maximum Points You Can Obtain from Cards | Med | Code |
| 9 | Asteroid Collision | Med | Code |
| 10 | Sum of Subarray Minimums | Med | Code |
| 11 | Reverse Integer | Med | Code |
| 12 | Next Greater Element II | Med | Code |
| 13 | Min Stack | Med | Code |
| 14 | Swap Nodes in Pairs | Med | Code |
| 15 | Odd Even Linked List | Med | Code |
| 16 | Remove Nth Node From End of List | Med | Code |
| 17 | Median of Two Sorted Arrays | Hard | Code |
| 18 | Trapping Rain Water | Hard | Code |
| 19 | Fair Candy Swap | Easy | Code |
| 20 | Find All Numbers Disappeared in an Array | Easy | Code |
| 21 | Counter II | Easy | Code |
| 22 | To Be Or Not To Be | Easy | Code |
| 23 | Counter | Easy | Code |
| 24 | Contains Duplicate | Easy | Code |
| 25 | Majority Element | Easy | Code |
| 26 | Merge Sorted Array | Easy | Code |
| 27 | Plus One | Easy | Code |
| 28 | Create Hello World Function | Easy | Code |
| 29 | Find the Index of the First Occurrence in a String | Easy | Code |
| 30 | Remove Element | Easy | Code |
| 31 | Roman to Integer | Easy | Code |
| 32 | Single Number | Easy | Code |
| 33 | Max Consecutive Ones | Easy | Code |
| 34 | Search Insert Position | Easy | Code |
| 35 | Binary Search | Easy | Code |
| 36 | Fibonacci Number | Easy | Code |
| 37 | Lemonade Change | Easy | Code |
| 38 | Assign Cookies | Easy | Code |
| 39 | Palindrome Number | Easy | Code |
| 40 | Two Sum | Easy | Code |
| 41 | Remove Duplicates from Sorted Array | Easy | Code |
| 42 | Missing Number | Easy | Code |
| 43 | Next Greater Element I | Easy | Code |
| 44 | Valid Parentheses | Easy | Code |
| 45 | Implement Queue using Stacks | Easy | Code |
| 46 | Implement Stack using Queues | Easy | Code |
| 47 | Longest Common Prefix | Easy | Code |
| 48 | Convert Binary Number in a Linked List to Integer | Easy | Code |
| 49 | Middle of the Linked List | Easy | Code |