├── .gitignore
├── Aggregate Zeros
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── microsoft
│ │ └── Aggregation.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── microsoft
│ └── AggregationTest.java
├── Alphabets Order
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── amazon
│ │ └── interview
│ │ └── Order.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── amazon
│ └── interview
│ └── OrderTest.java
├── Anagram Sorting
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── AnagramComparator.java
│ │ └── Sort.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ ├── AnagramComparatorTest.java
│ ├── AnagramSorting.java
│ └── SortTest.java
├── BST to DLL
├── .ALGORITH.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITH.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── ConvertBST.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── ConvertTest.java
├── Balanced Parentheses
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ ├── App.java
│ │ └── ParenthesesGenerator.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ ├── AppTest.java
│ └── ParenthesesGeneratorTest.java
├── Ball in Bins
├── .DS_Store
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── Questions.pdf
└── src
│ └── in
│ └── interview
│ └── catamaranventures
│ ├── BallBins.java
│ └── MaxCycle.java
├── Best Grouping of Digits of a Phone Number
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── GroupUtils.java
│ │ └── Grouping.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── GroupUtilsTest.java
├── Binary Search Tree
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── BinarySearchTree.java
│ │ ├── BinaryTree.java
│ │ └── Node.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── BinarySearchTreeTest.java
├── Binary Search in Array
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── src
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ ├── BinarySearch.java
│ └── BinarySearchTest.java
├── Bits
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── src
│ └── com
│ └── housing
│ └── interview
│ └── Solution.java
├── Ceiling and Floor in BST
├── .ALGORITHM.md.html
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── amazon
│ │ └── interview
│ │ └── FloorCeilingBST.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── amazon
│ └── interview
│ └── FloorCeilingBSTTest.java
├── Choose Non Consecutive Objects
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── NonConsecutiveSelection.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── NonConsecutiveSelectionTest.java
├── Color Blocks
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── google
│ │ └── Painter.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── google
│ └── PainterTest.java
├── Consistent Hashing
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ ├── App.java
│ │ ├── LoadBalancer.java
│ │ ├── MD5.java
│ │ ├── Request.java
│ │ └── Server.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── AppTest.java
├── Cycle Shooter
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── App.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── AppTest.java
├── DLL to BST
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ └── in
│ └── interview
│ └── google
│ ├── DLLUtilities.java
│ ├── DoublyLinkedList.java
│ ├── DoublyLinkedListTest.java
│ └── Node.java
├── Death Probability of Bot on a Grid
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── ola
│ │ └── BotOnGrid.java
└── test
│ └── in
│ └── interview
│ └── ola
│ └── BotOnGridTest.java
├── Dictionary
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── Element.java
│ │ ├── Node.java
│ │ └── Trie.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ ├── ElementTest.java
│ └── TrieTest.java
├── DistinctSubsequences
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── SubsequenceCounter.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── SubsequenceCounterTest.java
├── Fibonacci Repersentation of a Number
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── FibonacciRepersentation.java
│ │ ├── FibonacciRepersentationTest.java
│ │ └── FibonacciSeries.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── FibonacciTest.java
├── Fibonacci
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── google
│ │ └── Fibonacci.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── google
│ └── FibonacciTest.java
├── GasStations
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── IndexComputer.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── AppTest.java
├── Graph
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
└── src
│ └── in
│ └── interview
│ └── amazon
│ ├── AdjacencyList.java
│ ├── DirectedGraph.java
│ └── UndirectedGraph.java
├── Heap
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── interview
│ │ ├── HeapIterator.java
│ │ └── HeapList.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── interview
│ └── HeapTest.java
├── Increment Array Number
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── in
│ └── interview
│ └── google
│ ├── NumberUtils.java
│ └── NumberUtilsTest.java
├── Infix to Postfix
├── .gitignore
├── .idea
│ ├── compiler.xml
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── encodings.xml
│ ├── misc.xml
│ └── modules.xml
├── ALGORITHM.md
├── Infix to Postfix.iml
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── inbhiwadi
│ │ └── postfix
│ │ └── Algebra.java
│ └── test
│ └── java
│ └── com
│ └── inbhiwadi
│ └── postfix
│ └── AlgebraTest.java
├── Inorder to All Possible Binary Tree
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── Intersect Zeros in Matrix
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── images
│ └── Intersect Zeros.jpg
└── src
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── IntersectZeros.java
├── Inversions Count in Array
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── amazon
│ │ └── interview
│ │ └── Inversions.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── amazon
│ └── interview
│ └── InversionsTest.java
├── Islands in Matrix
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── ola
│ │ └── Islands.java
└── test
│ └── in
│ └── interview
│ └── ola
│ └── IslandsTest.java
├── Kth smallest element in Matrix sorted along Rows and Columns
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ └── in
│ └── interview
│ └── limeroad
│ └── Matrix.java
├── LICENSE
├── LRU Cache
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── in
│ └── interview
│ └── google
│ ├── Cache.java
│ └── LRUCache.java
├── Large Balanced Paranthesis File
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── Line Passing through Maximum Points
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── LinkedList
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
└── src
│ └── in
│ └── kuldeepyadav
│ └── amazon
│ └── interview
│ └── LookAheadIterator.java
├── Longest Contiguous Increasing Sequence in Matrix
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── microsoft
│ │ └── MatrixUtils.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── microsoft
│ └── MatrixUtilsTest.java
├── Majority Element
├── .gitignore
└── pom.xml
├── MajorityElement
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── MajorityFinder.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ ├── AppTest.java
│ └── MajorityFinderTest.java
├── Make Palindrom
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── kuldeep
│ │ └── PalindromeUtils.java
│ └── test
│ └── java
│ └── com
│ └── kuldeep
│ └── PalindromeUtilsTest.java
├── Maths Algebra
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── Multiply.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── MultiplyTest.java
├── Maths
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── src
│ └── in
│ └── interview
│ └── google
│ ├── MathUtils.java
│ └── MathUtilsTest.java
├── Max Tasks Scheduler for N Machines
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
└── images
│ └── Max tasks using N machines.jpg
├── Max Tasks Scheduler
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── microsoft
│ │ └── Scheduler.java
└── test
│ └── in
│ └── interview
│ └── microsoft
│ └── SchedulerTest.java
├── Median in 2 Sorted array
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeep
│ │ └── interview
│ │ └── google
│ │ └── Median.java
└── test
│ └── in
│ └── kuldeep
│ └── interview
│ └── google
│ └── MedianTest.java
├── MinJumpsArray
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── MinimumJumpComputer.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── MinimumJumpComputerTest.java
├── Minimum Distance between Two Words
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── Minimum Sum of Distances
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── Minimum Sum of Triplets
├── .gitignore
├── .idea
│ ├── compiler.xml
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── encodings.xml
│ ├── misc.xml
│ └── modules.xml
├── ALGORITHM.md
├── Minimum Sum of Triplets.iml
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── inbhiwadi
│ │ └── MinimumSumArray.java
│ └── test
│ └── java
│ └── com
│ └── inbhiwadi
│ └── MinimumSumArrayTest.java
├── Minimum Swaps for Pairing
├── .gitignore
├── .idea
│ ├── compiler.xml
│ ├── copyright
│ │ └── profiles_settings.xml
│ ├── encodings.xml
│ ├── misc.xml
│ └── modules.xml
├── ALGORITHM.md
├── Minimum Swaps for Pairing.iml
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── inbhiwadi
│ └── ArraySwap.java
├── Missing Positive Number
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
└── src
│ └── in
│ └── interview
│ └── limeroad
│ ├── ArrayUtils.java
│ └── ArrayUtilsTest.java
├── Most Frequent Words in a File
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── dump
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── FrequentWords.java
├── test
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── FrequentWordsTest.java
└── wordsEn.txt
├── No Two Consecutive Zeros
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── NonConsecutiveZeroStrings.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── NonConsecutiveZeroStringsTest.java
├── Non Intersecting Chords
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── NonIntersectingChordsCounter.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── NonIntersectingChordsCounterTest.java
├── Optimal Path in Matrix
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── Pairs having Sum Greater than Threshold
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── google
│ │ └── ArrayUtils.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── google
│ └── ArrayUtilsTest.java
├── Palindrome With Whitechar
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── microsoft
│ │ └── PalindromeUtils.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── microsoft
│ └── PalindromeUtilsTest.java
├── PalindromePartitioning
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── tarkshala
│ └── PalindromePartitioner.java
├── Predecessor and Successor of a key in BST
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── ola
│ │ └── BinarySearchTree.java
└── test
│ └── in
│ └── interview
│ └── ola
│ └── BinarySearchTreeTest.java
├── Preorder to BST
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── algorithm.md
├── images
│ └── PreorderToBST.jpg
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── PreorderToBST.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── PreorderToBSTTest.java
├── Print Partial Merged Arrays
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── in
│ │ └── interview
│ │ └── microsoft
│ │ └── Permutation.java
│ └── test
│ └── java
│ └── in
│ └── interview
│ └── microsoft
│ └── PermutationTest.java
├── Queue using Array
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
└── ALGORITHM.md
├── README.md
├── RepeatedSubstring.md
├── Repetation In Array
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── google
│ │ └── Repetition.java
└── test
│ └── in
│ └── interview
│ └── google
│ └── RepetitionTest.java
├── Reservoir Sampling
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ ├── App.java
│ │ └── RandomNumberCalculator.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── AppTest.java
├── Reverse Every Two Nodes in Linkedlist
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── in
│ └── interview
│ └── google
│ ├── LinkedlistUtils.java
│ └── LinkedlistUtilsTest.java
├── Robot reachability
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── kuldeep
│ │ └── RobotMovement.java
│ └── test
│ └── java
│ └── com
│ └── kuldeep
│ └── RobotMovementTest.java
├── Rotate Matrix Inplace
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── interview
│ │ └── google
│ │ ├── MatrixUtils.java
│ │ └── Rotate.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── interview
│ └── google
│ ├── MatrixUtilsTest.java
│ └── RotateTest.java
├── Search in Rotated Array
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ ├── NewRotatedBinarySearch.java
│ │ ├── PivotUtil.java
│ │ └── RotatedBinarySearch.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ ├── PivotUtilTest.java
│ └── RotatedBinarySearchTest.java
├── Segregate Positive and Negative
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── interview
│ │ └── google
│ │ └── Segregate.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── interview
│ └── google
│ └── SegregateTest.java
├── Sort N Element array with K Distinct keys
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── google
│ │ └── ArrayUtils.java
└── test
│ └── in
│ └── interview
│ └── google
│ └── ArrayUtilsTest.java
├── String Interleavings
├── .ALGORITHM.md.html
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
└── src
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ ├── Interleaving.java
│ └── InterleavingTest.java
├── Subarray with given Sum
├── .gitignore
├── ALGORITHM.md
└── src
│ └── com
│ └── kuldeep
│ ├── SubarrayFinder.java
│ └── SubarrayFinderTest.java
├── Suffix Tree
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── kuldeep
│ │ └── algorithm
│ │ └── SuffixTree.java
│ └── test
│ └── java
│ └── com
│ └── kuldeep
│ └── algorithm
│ └── SuffixTreeTest.java
├── Sum Along Diaginals in Binary Tree
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── google
│ │ └── interview
│ │ └── IntegerBinaryTree.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── google
│ └── interview
│ └── IntegerBinaryTreeTest.java
├── Sum of Bit Difference
├── .gitignore
├── ALGORITHM.md
├── Sum of Bit Difference.iml
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── inbhiwadi
│ │ └── BitsCounter.java
│ └── test
│ └── java
│ └── com
│ └── inbhiwadi
│ └── BitsCounterTest.java
├── Sum of Cube of Two equal to Cube of Third
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── src
│ └── in
│ │ └── kuldeepyadav
│ │ └── amazon
│ │ └── interview
│ │ └── SumOfCubes.java
└── test
│ └── in
│ └── kuldeepyadav
│ └── amazon
│ └── interview
│ └── SumOfCubesTest.java
├── Sum of Pair divisible by 'K'
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── ixigo
│ │ └── Pairs.java
└── test
│ └── in
│ └── interview
│ └── ixigo
│ └── PairsTest.java
├── Trapping Rain Water
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── kuldeep
│ ├── Trap.java
│ └── TrapTest.java
├── Two Jugs
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── ALGORITHM.md
├── src
│ └── in
│ │ └── interview
│ │ └── housing
│ │ └── Jugs.java
└── test
│ └── in
│ └── interview
│ └── housing
│ └── JugsTest.java
├── Walk Array
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── pseudo code.md
├── src
│ └── com
│ │ └── kuldeep
│ │ └── google
│ │ └── interview
│ │ └── Jump.java
└── test
│ └── com
│ └── kuldeep
│ └── google
│ └── interview
│ └── JumpTest.java
├── Zero Sum Triplets
├── .gitignore
├── ALGORITHM.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── com
│ │ └── tarkshala
│ │ └── App.java
│ └── test
│ └── java
│ └── com
│ └── tarkshala
│ └── AppTest.java
└── Zig Zag Sorting
├── .classpath
├── .gitignore
├── .project
├── .settings
├── org.eclipse.jdt.core.prefs
└── org.eclipse.m2e.core.prefs
├── ALGORITHM.md
├── pom.xml
└── src
└── main
└── java
└── in
└── interview
└── microsoft
├── ArrayUtils.java
└── ArrayUtilsTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 |
3 | # Mobile Tools for Java (J2ME)
4 | .mtj.tmp/
5 |
6 | # Package Files #
7 | *.jar
8 | *.war
9 | *.ear
10 |
11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
12 | hs_err_pid*
13 | /bin/
14 |
--------------------------------------------------------------------------------
/Aggregate Zeros/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/Aggregate Zeros/.project:
--------------------------------------------------------------------------------
1 |
2 |
8 | * Created by Kuldeep Yadav on 09/11/16.
9 | */
10 | public class AlgebraTest {
11 | @Test
12 | public void infixToPostfix() throws Exception {
13 |
14 | String infixExpression = Algebra.infixToPostfix("( ( ( 1 + 2 ) * 3 ) - ( 4 + 5 ) )");
15 |
16 | System.out.println(infixExpression);
17 | System.out.println(Algebra.evaluate(infixExpression));
18 |
19 | infixExpression = Algebra.infixToPostfix("( ( ( 4 * 2 ) + ( 8 / 4 ) ) - ( 2 * ( 5 - 4 ) ) )");
20 |
21 | System.out.println(infixExpression);
22 | System.out.println(Algebra.evaluate(infixExpression));
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/Inorder to All Possible Binary Tree/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
6 | * Created by kuldeep on 08/06/16.
7 | */
8 | public class RobotMovementTest {
9 |
10 |
11 | }
--------------------------------------------------------------------------------
/Rotate Matrix Inplace/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
SubarrayFinder
9 | *
10 | * Created by kuldeep on 27/04/16.
11 | */
12 | public class SubarrayFinderTest {
13 |
14 | @Test
15 | public void testSubarrayWithSum() throws Exception {
16 |
17 | int[] array = new int[]{20,34,23,6,8,9,1,27,36,10};
18 | int sum = 24;
19 | int[] subarray = SubarrayFinder.subarrayWithSum(array, sum);
20 | int[] expected = new int[]{6,8,9,1};
21 | assertArrayEquals(expected, subarray);
22 | }
23 | }
--------------------------------------------------------------------------------
/Suffix Tree/ALGORITHM.md:
--------------------------------------------------------------------------------
1 | Pattern Searching (Suffix Tree Introduction)
2 | ============================================
3 |
4 |
8 | * Created by Kuldeep Yadav on 02/10/16.
9 | */
10 | public class BitsCounterTest extends TestCase {
11 | public void testCountSumOfBitDifferences() throws Exception {
12 |
13 | int count = BitsCounter.countSumOfBitDifferences(new int[]{1, 2});
14 | assertEquals(4, count);
15 | count = BitsCounter.countSumOfBitDifferences(new int[]{1, 3, 5});
16 | assertEquals(8, count);
17 | }
18 | }
--------------------------------------------------------------------------------
/Sum of Cube of Two equal to Cube of Third/.classpath:
--------------------------------------------------------------------------------
1 |
2 | Trap
7 | *
8 | * Created by kuldeep on 01/05/16.
9 | */
10 | public class TrapTest extends TestCase {
11 |
12 | public void testCalculateWater() throws Exception {
13 |
14 | int volume = Trap.calculateWater(new int[]{1, 2, 3, 4, 5, 4, 3, 2, 1});
15 | assertEquals(20, volume);
16 |
17 | volume = Trap.calculateWater(new int[]{2, 5, 3, 6, 7, 2, 4, 1});
18 | assertEquals(27, volume);
19 | }
20 | }
--------------------------------------------------------------------------------
/Two Jugs/.classpath:
--------------------------------------------------------------------------------
1 |
2 |