Things to do :
- Learn Programming Language Basics. [DONE]
- Learn Time Complexity. [DONE]
- Build up logical thinking by practicing "Pattern Problems" from "Leetcode". [DONE]
- Learn STL in C++. [DONE]
- Do basic maths :
- Count Digits [DONE]
- Reverse a number [DONE]
- Check Palindrome [DONE]
- GCD or HCF [DONE]
- Armstrong Number [DONE]
- Print all Divisors [DONE]
- Check for Prime [DONE]
- Learn basic "Recursion".
- Understand Recursion by printing something N times.
- Print 1 to N using recursion.
- Print sum for first N numbers
- Print factorial of N numbers
- Check if a string is palindrome or not
- Print Fibonacci Number
- Learn Basic Hashing.
- Count frequencies of array elements
- Find highest/lowest frequency element
Things to do :
- Selection sort
- Bubble sort
- Insertion sort
- Merge sort
- Quick sort
- Cycle sort
- Heap sort
Things to do :
- Binary Search on 1D Arrays
- Binary search to find X in Sorted Array
- Lower Bound and Upper Bound
- Search Insert Position
- Check if Input Array is sorted
- Find the first and last occurrence of a given number in a sorted array
- Count occurrence of a number in a sorted array with duplicates
- Find peak element
- Search in Rotated Sorted Array 1
- Search in Rotated Sorted Array 2
- Find minimum in Rotated Sorted Array
- Single element in a sorted array
- Find Kth element of two sorted arrays
- Find how many times has an array been rotated
- Order-Agnostic Binary Search
- Binary Search on 2D Arrays
- Search in a 2D Matrix
- Find Peak Element
- Matrix Median
- Find Answers by Binary Search in Search Space
- Find square root of a number in log n
- Find Nth root of a number using BS
- Koko Eating Bananas
- Minimum days to make M Bouquets
- Find the smallest Divisor
- Capacity to Ship Packages within D Days
- Median of two Sorted Arrays
- Aggressive Cows
- Book Allocation Problem
- Split Array - Largets Sum
- Kth missing positive number
- Minimize max distance to Gas Station
- Median of two Sorted Arrays
- Kth element of two Sorted Arrays
Things to do :
- Basic
- Remove outermost parenthesis
- Reverse words in a given string/palindrome check
- Largest odd number in a string
- Longest Common Prefix
- Isomorphic String
- Check whether one string is a rotation of another
- Check if two strings are anagram of each other
- Medium String Problem
- Sort characters by frequency
- Maximum Nesting Depth of Parenthesis
- Roman Number to Integer and vice versa
- Implement Atoi
- Count Number of Substrings
- Longest Palindromic Substring
- Sum of beauty of all substring
- Reverse every word in a string
Things to do :
- Singly LinkedList
- Doubly LinkedList
- Medium level problems of LL
- Middle of a linked list
- Reverse a linked list
- Detect if a linked list has a cycle in it
- Find the starting point in LL
- Length of loop in LL
- Check if LL is palindrome or not
- Segregate odd and even nodes in LL
- Remove Nth node from the back of the LL
- Delete the middle node of LL
- Sort LL
- Sort a LL of 0's and 1's by changing links
- Find the intersection point of Y LL
- Add 1 to a number represented by LL
- Add two numbers in LL
- Medium level problems of DLL
- Delete all occurences of a key in DLL
- Find pairs with given sum in DLL
- Remove duplicates from sorted DLL
- Hard level problems of LL
- Reverse LL in a group of given size K
- Rotate a LL
- Flattening of LL
- Clone a Linkedlist with random and next pointer
Things to do :
- Get a strong hold
- Recursive implementation of atoi()
- Pow(x, n)
- Count Good numbers
- Sort a stack using recursion
- Reverse a stack using recursion
- Subsequences Pattern
- Generate all binary strings
- Generate parenthesis
- Print all subsequences/power set
- Learn all pattern of subsequences
- Count all subsequences with sum K
- Combination Sum
- Combination Sum 2
- Combination Sum 3
- Subset Sum 1
- Subset Sum 2
- Letter combinations of a phone number
- Hard Level
- Palindrome Partitioning
- Word Search
- N Queen
- Rat in a Maze
- Word Break
- M Coloring Problem
- Sudoku Solver
- Expression Add Operators
Things to do :
- Basic
- Introduction to Bit Manipulation
- Check if i-th bit is set or not
- Check if a number is odd or not
- Check if a number is power of 2 or not
- Count the number of set bits
- Set/Unset the rightmost unset bit
- Swap two numbers
- Divide two integers without using multiplication, division or mod oeprator
- Interview Problems
- Count number of bits to be flipped to convert A to B
- Find the number that appears odd number of times
- Power Set
- Find XOR of numbers from L to R
- Find the two numbers appearing odd number of times
- Advanced Maths
- Print prime factors of a number
- All divisors of a number
- Sieve of Eratosthenes
- Find prime factorization of a number using sieve
- Power(n, x)
Things to do :
- Learning
- Implement stacks using arrays
- Implement queue using arrays
- Implement stacks using queue
- Implement queue using stacks
- Implement stacks using Linkedlist
- Implement queue using Linkedlist
- Check for balanced parenthesis
- Implement Min Stack
- Prefix, Infix, Postfix Conversion Problems
- Infix to Postfix conversion using stack
- Prefix to Infix Conversion
- Prefix to Postfix Conversion
- Postfix to Prefix Conversion
- Postfix to Infix
- Convert Infix to Prefix Notation
- Monotonic Stack/Queue Problems
- Next Greater Element 1
- Next Greater Element 2
- Next Smaller Element
- Number of NGE's to the right
- Trapping Rainwater
- Sum of subarray minimum
- Stock span problem
- Asteroid Collision
- Sum of subarray ranges
- Remove K digits
- Largest rectangle in a histogram
- Maximal Rectangles
- Implementation Problems
- Sliding Window Maximum
- Stock Span Problem
- The Celebrity Problem
- Rotten Oranges
- LRU Cache
- LFU Cache
Things to do :
- Practice GFG Top 20 Greedy Algorithms Interview Questions
Things to do :
- Basic
- Basic Tree Structure
- Traversing a Binary Tree (Preorder, Postorder, Inorder)
- Balanced Binary Search Tree
- Problems
- Find height or depth of a binary tree
- Finding diameter of a tree using height of each node
- Find number of Universal Value Subtrees in a Binary Tree
- Find if a given Binary Tree is a Sub-Tree of another Binary Tree
- Finding nodes at distance K from a given Node
- Copy a binary tree where each node has a random pointer
- Zigzag Traversal of Binary Tree
- Check if Binary Tree is foldable
- Threaded Binary Tree
- Convert Binary Tree to Threaded Binary Tree
- Sum of K smallest elements in Binary Search Tree
Things to do :
- BFS/DFS
- Shortest Path Algo
- Mininmum Spanning Tree
- Union-Find
Things to do :
- Learn Basic
- Problems
- Climbing Stairs
- Best time to buy and sell stock
- Maximum Subarray
- House Robber
- Hard Problems
- Solve Top 20 Dynamic Programming Interview Questions on GFG