Welcome to the Data Structures and Algorithms (DSA) repository! This repository contains C++ implementations for various data structures and algorithms, organized by day. The code includes fundamental concepts and practical problems designed to enhance your understanding and problem-solving skills in DSA.
| Day | Topics |
|---|---|
| Day 01 | - Introduction to Programming - Write Your First C++ Program - Conditionals and Loops |
| Day 02 | - Functions - Operators - Patterns |
| Day 03 | - Set K-th Bit - Check Set Bit - Number System - Reverse Integer - Temperature |
| Day 04 | - Array Operations - Count 0 & 1 - Extreme Print Array - Linear Search - Max Number - Reverse Array - Vector Operations |
| Day 05 | - Pair Sum - Sort 0 & 1 (Dutch National Flag Problem) - Triplet - Union & Intersection - Unique Element |
| Day 06 | - 2-D Array Operations - Max & Min in 2D Array - Transpose Matrix - Vector of Vectors |
| Day 07 | - Move Negative Numbers - Sort Colors |
| Day 09 | - Binary Search - Find First Occurrence - Last Occurrence - Peak Element in Mountain Array |
| Day 10 | - Matrix Operations - Square Root of a Number |
| Day 11 | - Binary Search on Nearly Sorted Array - Divide of 2 Numbers (Binary Search) - Odd Occurring Element |
| Day 12 | - Strings - Characters |
| Day 13 | - Minimum Time Difference - Remove All Occurrences - Remove Adjacent Duplicates - Valid Palindrome - Palindromic Substrings |
| Day 14 | - Longest Common Prefixes - Reverse Vowels - Isomorphic String - Reorganize String - Reverse Only Letters - Valid Anagram |
| Day 15 | - String Compression - String to Integer - Find Index of First Occurrence - Group Anagrams - Longest Palindromic Substring - Zigzag Conversion |
| Day 16 | - Integer to Roman - Largest Number |
| Day 17 | - Pointers |
| Day 18 | - Count Primes - Pointers with Function |
| Day 19 | - GCD - LCM - Modular Exponentiation - Slow Exponentiation |
| Day 20 | - Double Pointer |
| Day 21 | - Practice Questions |
| Day 22 | - Factorials - Counting |
| Day 23 | - Fibonacci Series - Power Calculation - Reverse Counting |
| Day 24 | - Minimum in Array - Climbing Stairs - Print Array - Print Digit of Number - Remove All Occurrences |
| Day 25 | - Array Sorted or Not - B Switch Recursive - Maximize the Cost Segment - Subsequence String |
| Day 26 | - Buy and Sell Stock - Coin Change - Wildcard Matching - House Robber |
| Day 27 | - Adding Strings - Checking Palindrome - Reverse String - Convert Integer to English Words |
| Day 28 | - Max Sum of Non-adjacent Elements - Min Cost Ticket - Min Dice Roll with Target - Perfect Square |
| Day 29 | - Merge Sort |
| Day 30 | - Quick Sort |
| Day 31 | - Permutation in String |
| Day 32 | - Rat in Maze |
| Day 33 | - Generate Parentheses - N Queens |
| Day 34 | - Count Inversions - Letter Combination Phone Number |
| Day 35 | - Combination Sum - Combination Sum II - Max Subarray Sum - Permutation II |
| Day 36 | - Beautiful Arrangement - Distributive Repeating Integers |
| Day 37 | - Constructor - OOP Basics - Getter and Setter |
| Day 38 | - Inheritance |
| Day 39 | - Polymorphism |
| Day 40 | - Global and Local Variables - Macros - Static Keyword |
| Day 41 | - Inline Functions - Private Constructor - Virtual Functions |
