#100DaysOfAlgorithm
Practicing Algorithms and data structures for 100 days.
Day 100: September 25, 2018
- Implemented State design pattern.
Day 99: September 24, 2018
- Implemented Facade design pattern.
Day 98: September 23, 2018
- Implemented Abstract factory design pattern.
Day 97: September 22, 2018
- Implemented Composite design pattern.
Day 96: September 21, 2018
- Implemented Strategy design pattern.
Day 95: September 20, 2018
- Implemented Chain of responsibility design pattern.
Day 94: September 19, 2018
- Implemented Mediator design pattern.
Day 93: September 18, 2018
- Implemented Memento design pattern.
Day 92: September 17, 2018
- Implemented iterator design pattern.
Day 91: September 16, 2018
- Implemented url-shortener system design.
Day 90: September 15, 2018
- Implemented e-commerce system design part - 3.
Day 89: September 14, 2018
- Implemented e-commerce system design part - 2.
Day 88: September 13, 2018
- Implemented e-commerce system design part - 1.
Day 87: September 12, 2018
- Implemented Decorator design pattern.
Day 86: September 11, 2018
- Implemented Visitor design pattern.
Day 85: September 10, 2018
- Implemented State design pattern.
Day 84: September 9, 2018
- Solved Chocolate feasts from Hackerrank. Problem at https://www.hackerrank.com/challenges/chocolate-feast/problem
Day 83: September 8, 2018
- Solved Service lane from Hackerrank. Problem at https://www.hackerrank.com/challenges/service-lane/problem
Day 82: September 7, 2018
- Solved Flatland space stations from Hackerrank. Problem at https://www.hackerrank.com/challenges/flatland-space-stations/forum
Day 81: September 6, 2018
- Solved Halloween sale from Hackerrank. Problem at https://www.hackerrank.com/challenges/halloween-sale/problem
Day 80: September 5, 2018
- Solved minimum distance from Hackerrank. Problem at https://www.hackerrank.com/challenges/minimum-distances/problem
Day 79: September 4, 2018
- Solved Beautiful triplets from Hackerrank. Problem at https://www.hackerrank.com/challenges/beautiful-triplets/problem
Day 78: September 3, 2018
- Solved find digits from Hackerrank. Problem at https://www.hackerrank.com/challenges/find-digits/problem
Day 77: September 2, 2018
- Solved Circular rotation array from Hackerrank. Problem at https://www.hackerrank.com/challenges/circular-array-rotation/problem
Day 76: September 1, 2018
- Solved Balance expression from Hackerrank. Problem at https://www.hackerrank.com/challenges/ctci-balanced-brackets/problem
Day 75: August 31, 2018
- Solved Beautiful days at movies from Hackerrank. Problem at https://www.hackerrank.com/challenges/beautiful-days-at-the-movies/problem
Day 74: August 30, 2018
- Solved PDF Viewer from Hackerrank. Problem at https://www.hackerrank.com/challenges/designer-pdf-viewer/problem
Day 73: August 29, 2018
- Solved The hurdle race from Hackerrank. Problem at https://www.hackerrank.com/challenges/the-hurdle-race/problem
Day 72: August 28, 2018
- Solved Electronics shop from Hackerrank. Problem at https://www.hackerrank.com/challenges/electronics-shop/problem
Day 71: August 27, 2018
- Solved Kangaroo from Hackerrank. Problem at https://www.hackerrank.com/challenges/kangaroo/problem
Day 70: August 26, 2018
- Solved Organizing Container from Hackerrank. Problem at https://www.hackerrank.com/challenges/organizing-containers-of-balls/problem
Day 69: August 25, 2018
- Solved Apple and Organge from Hackerrank. Problem at https://www.hackerrank.com/challenges/apple-and-orange/problem
Day 68: August 24, 2018
- Wrote pseudo code for Magic square from Hackerrank. Problem at https://www.hackerrank.com/challenges/magic-square-forming/problem
Day 67: August 23, 2018
- Solved Ice Cream Parlour from Hackerrank. Problem at https://www.hackerrank.com/challenges/ctci-ice-cream-parlor/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=search
Day 66: August 22, 2018
- Solved Greedy Florist from Hackerrank. Problem at https://www.hackerrank.com/challenges/greedy-florist/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=greedy-algorithms
Day 65: August 21, 2018
- Solved Max array sum from hackerrank. Problem at https://www.hackerrank.com/challenges/max-array-sum/problem
Day 64: August 20, 2018
- Solved Minimum abs difference. Problem at https://www.hackerrank.com/challenges/minimum-absolute-difference-in-an-array/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=greedy-algorithms
Day 63: August 19, 2018
- Solved Triplets from hackerrank. Problem at https://www.hackerrank.com/challenges/triple-sum/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=search
Day 62: August 18, 2018
- Solved pairs from hackerrank. Problem at https://www.hackerrank.com/challenges/pairs/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=search
Day 61: August 17, 2018
- Solved "Largest Rectangle" from hackerrank. Problem at https://www.hackerrank.com/challenges/largest-rectangle/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=stacks-queues
Day 60: August 16, 2018
- Solved "Making Anagrams" from hackerrank. Problem at https://www.hackerrank.com/challenges/ctci-making-anagrams/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=strings
Day 59: August 15, 2018
- Implemented problem in Hash. Problem statement can be found at https://www.hackerrank.com/challenges/frequency-queries/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps.
Day 58: August 14, 2018
- Implemented queue data-structure using two stacks.
Day 57: August 13, 2018
- Implemented an algorithm to find an element in an sorted matrix.
Day 56: August 12, 2018
- Wrote pseudo code for counting inversions of an array.
Day 55: August 11, 2018
- Implemented an algorithm to reverse a sentence.
Day 54: August 10, 2018
- Solved coin-change problem.
Day 53: August 9, 2018
- Implemented an algorithm to find the pairs that equals to the given element. And solved stock buy-sell for maximum profit problem.
Day 52: August 8, 2018
- Implemented an algorithm to find the hits and psuedo-hits of master mind game.
Day 51: August 7, 2018
- Implemented an algorithm to sort an array by alternating peaks and shallows.
Day 50: August 6, 2018
- Implemented an algorithm to find whether there is a winner in tic-tac-toc game.
Day 49: August 5, 2018
- Implemented an algorithm to find the number of pond sizes in the given N*N matrix.
Day 48: August 4, 2018
- Implemented an algorithm to sort an given array by sorting the minimum sub-array.
Day 47: August 3, 2018
- Implemented an algorithm to find the contiguous sub-sequence with max sum.
Day 46: August 2, 2018
- Implemented an algorithm to make the sum of elements of two given arrays equal by swaping two numbers.
Day 45: August 1, 2018
- Implemented an algorithm to find the max population of the year, given the birth rate and death rate for the range of years.
Day 44: July 31, 2018
- Implemented Least Recently Used cache.
Day 43: July 30, 2018
- Implemented an algorithm to find the minimum difference between two arrays.
Day 42: July 29, 2018
- Implemented an algorithm to swap two numbers without using additional space.
Day 41: July 28, 2018
- Implemented an algorithm to find the number of elements less than the given element from a given stream of integers.
Day 40: July 27, 2018
- Implemented an algorithm to find a given string from an given array of strings with blank.
Day 39: July 26, 2018
- Implemented an algorithm to find an element in a n-times rotated sorted array.
Day 38: July 25, 2018
- Implemented an algorithm to sort an array of strings such that all anagrams are next to each other.
Day 37: July 24, 2018
- Implemented an algorithm to merge two sorted array.
Day 36: July 23, 2018
- Implemented quick sort algorithm.
Day 35: July 22, 2018
- Implemented an algorithm to print all the permutations of the given string with duplicate chars.
Day 34: July 21, 2018
- Implemented an algorithm to print all the permutations of the given string.
Day 33: July 20, 2018
- Multiply two numbers without using *
Day 32: July 19, 2018
- Implemented merge sort.
Day 31: July 18, 2018
- Implemented a design pattern for parking lot.
Day 30: July 17, 2018
- Implemented an algorithm to find magic index of an array.
Day 29: July 16, 2018
- Implemented an algorithm to find the path from top left to bottom right in a maze.
Day 28: July 15, 2018
- Implemented a design pattern of music jukebox.
Day 27: July 14, 2018
- Implemented an algorithm to find the number of ways to reach nth step.
Day 26: July 13, 2018
- Implemented a design pattern to manage call center system.
Day 25: July 12, 2018
- Implemented singleton and factory design patterns.
Day 24: July 11, 2018
- Implemented Sieve Of Eratosthenes algorithm.
Day 23: July 10, 2018
- Implemented Kruskal's algorithm.
Day 22: July 9, 2018
- Implemented Prim's algorithm.
Day 21: July 8, 2018
- Implemented Bellman Ford algorithm.
Day 20: July 7, 2018
- Implemented Dijkstra algorithm.
Day 19: July 6, 2018
- Wrote pseudo code for an algorithm to print all possible ways of traversing nodes of BST.
Day 18: July 5, 2018
- Started to implement an algorithm to print all possible ways of traversing nodes of BST.
Day 17: July 4, 2018
- Implemented an algorithm to find the common ancestor for the given two nodes of a binary tree.
Day 16: July 3, 2018
- Solved a problem from graphs: Design a algorithm to build the order of jobs without affecting the job dependencies.
Day 15: July 2, 2018
- Implement an algorithm to check if the given binary tree is binary search tree or not.
Day 14: July 1, 2018
- Implemented Breadth First Search.
Day 13: June 30, 2018
- Implemented Depth First Search.
Day 12: June 29, 2018
- Completed binary search tree.
Day 11: June 28, 2018
- Started to implement a binary search tree from a given array.
Day 10: June 27, 2018
- Implemented circular linkedlist without using any other data-structure.
Day 9: June 26, 2018
- Completed single LinkedList and implemented doubly LinkedList without using any other data-structure.
Day 8: June 25, 2018
- Implemented traversion and insertion of LinkedList without using any other data-structure.
Day 7: June 24, 2018
- Solved a problem from linked list: Find the middle element in the given linked list
Day 6: June 23, 2018
- Solved stack sorting: Sort the given stack in ascending order without using any other data-structure except using one additional stack.
Day 5: June 22, 2018
- Solved a problem from Queues: Implement a queue using two stacks.
Day 4: June 21, 2018
- Solved a problem from Array: Return the minimum element of array in O(1)
Day 3: June 20, 2018
- Solved zero matrix: In a given matrix, for every element that equals to zero make that entire row and column to zero.
Day 2: June 19, 2018
- Solved permutation of palindrome: To check whether the given string is a permutation of palindrome.
Day 1: June 18, 2018
- Solved a problem from string manipulation.
Day 0: June 17, 2018
- Created Github repo for #100DaysOfAlgorithm