├── .vs ├── VSWorkspaceState.json ├── algoexpert │ └── v16 │ │ └── .suo └── slnx.sqlite ├── .vscode └── settings.json ├── README.md ├── _config.yml ├── easy ├── C# │ └── TwoSum.cs ├── java │ ├── TwoSum │ │ ├── TwoSumBruteForce.java │ │ ├── TwoSumOptimal.java │ │ └── TwoSumUsingSortTwoPointer.java │ ├── ValidateSubsequence │ │ ├── ValidateSubsequenceBruteForce.java │ │ └── validateSubseqOptimal.java │ ├── bubbleSort │ │ └── BubbleSortalgo.java │ ├── selectionSort │ │ └── SelectionSorting.java │ └── threelargestNumbers │ │ ├── ThreeLargestBruteForce.java │ │ ├── ThreeLargestOptimal.java │ │ └── ThreeLargestUsingSort.java └── python │ ├── DepthFirstSearch.py │ ├── NthFibonacci.py │ ├── branchSums.py │ ├── threelargest │ ├── threeLargestUsingHeaps.py │ └── threeLargestUsingSort.py │ ├── twoSum │ ├── twoSumBruteForce.py │ ├── twoSumOptimal.py │ └── twoSumTwoPointer.py │ └── validateSubsequence │ └── Validate_Sequence.py ├── extremelyhard ├── LongestCommonSubsequence.py └── airport.py ├── hard ├── BoggleBoard.py ├── ContinuousMedian.py ├── DiskStack.py ├── FindLoop.py ├── FourNumberSum.py ├── HeapSort.py ├── Knapsack.py ├── LargestRange.py ├── LongestSubstringNonDuplicate.py ├── LowestCommonManger.py ├── MaxPathSumBst.py ├── MaxSumIncreasingSubsequece.py ├── MinJumps.py ├── MinReward.py ├── MultiStringSearch.py ├── PatternMatcher.py ├── QuickSelect.py ├── QuickSort.py ├── SearchForRange.py ├── ShiftedBinarySearch.py ├── SubarraySort.py ├── TopologicalSort.py ├── UnderscorifySubstring.py └── WaterArea.py ├── medium ├── 3numberSum.py ├── BalancedBracket.py ├── BreadthFirstSearch.py ├── BstConstruction.py ├── BstTraversal.py ├── CoinChange.py ├── InvertBinaryTree.py ├── Kadane.py ├── Levenshtein.py ├── LongestPalindromicSubstring.py ├── MakeChange.py ├── MaxSubsetSumNoAdjacent.py ├── MinHeap.py ├── MinMaxStack.py ├── Permutation.py ├── PowerSet.py ├── RemoveKthNode.py ├── RiverSizes.py ├── SingleCycle.py ├── SmallestDifference.py ├── SortedMatrixSearch.py ├── SuffixTrie.py ├── ValidateBst.py └── YoungestCommonAncestor.py └── veryhard ├── IterativeInorder.py ├── KTransacationMaxProfit.py ├── KmpAlgorithm.py ├── LruCache.py ├── MergeSort.py ├── MinCutsPalindromePartition.py └── NumberOfBinaryTreeTopologies.py /.vs/VSWorkspaceState.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExpandedNodes": [ 3 | "", 4 | "\\easy" 5 | ], 6 | "SelectedNode": "\\easy\\NthFibonacci.py", 7 | "PreviewInSolutionExplorer": false 8 | } -------------------------------------------------------------------------------- /.vs/algoexpert/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/.vs/algoexpert/v16/.suo -------------------------------------------------------------------------------- /.vs/slnx.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/.vs/slnx.sqlite -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.linting.pylintEnabled": true, 3 | "python.linting.enabled": true 4 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 100 standard interview problems 2 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /easy/C#/TwoSum.cs: -------------------------------------------------------------------------------- 1 | public class TwoSum { 2 | public static int[] TwoNumberSum(int[] array, int targetSum) { 3 | 4 | return null; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /easy/java/TwoSum/TwoSumBruteForce.java: -------------------------------------------------------------------------------- 1 | package TwoSum; 2 | 3 | public class TwoSumBruteForce { 4 | 5 | public static int main(String[] args) { 6 | int[] array = {3,-4,5,8,11,-1,1,6}; 7 | int targetSum = 10; 8 | int[] result = twoNumberSum(array, targetSum); 9 | return result[0]+result[1]; 10 | } 11 | public static int[] twoNumberSum(int[] array, int targetSum) { 12 | int len= array.length; 13 | for(int i=0;i map = new HashMap<>(); 15 | for (int i : array) { 16 | int potMatch = targetSum-i; 17 | if(map.containsKey(potMatch)){ 18 | return new int[] {map.get(potMatch),potMatch}; 19 | } 20 | else 21 | { 22 | map.put(i,potMatch); 23 | } 24 | } 25 | return new int[] {}; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /easy/java/TwoSum/TwoSumUsingSortTwoPointer.java: -------------------------------------------------------------------------------- 1 | package TwoSum; 2 | 3 | import java.util.Arrays; 4 | 5 | public class TwoSumUsingSortTwoPointer { 6 | 7 | public static int main(String[] args) { 8 | int[] array = {3,-4,5,8,11,-1,1,6}; 9 | int targetSum = 10; 10 | int[] result = twoNumberSumUsingSort(array, targetSum); 11 | int total = result[0]+result[1]; 12 | return total; 13 | } 14 | public static int[] twoNumberSumUsingSort(int[] array, int targetSum) { 15 | Arrays.sort(array); 16 | int leftP =0; 17 | int rightP = array.length-1; 18 | while(leftP array = Arrays.asList (5, 1, 22, 25, 6, -1, 8, 10); 9 | List sequence = Arrays.asList (1, 6, -1, -1); 10 | boolean result = isValidSubsequence(array,sequence); 11 | System.out.println(result); 12 | } 13 | 14 | 15 | public static boolean isValidSubsequence(List array, List sequence) { 16 | int k=0; 17 | for(int i=0;i array = Arrays.asList (5, 1, 22, 25, 6, -1, 8, 10); 9 | List sequence = Arrays.asList (1, 6, -1, -1); 10 | boolean result = isValidSubsequence(array,sequence); 11 | System.out.println(result); 12 | } 13 | 14 | public static boolean isValidSubsequence(List array, List sequence) { 15 | for(int i = 0; i array[j]) { 22 | swap(array, i, j); 23 | count++; 24 | i++; 25 | } else if (array[i] == array[j]) { 26 | i++; 27 | } else if (array[i] < array[j]) { 28 | i++; 29 | } 30 | 31 | } 32 | } 33 | // logic for swapping 34 | 35 | return array; 36 | } 37 | 38 | private static void swap(int[] array, int i, int j) { 39 | int tempVar = array[i]; 40 | array[i] = array[j]; 41 | array[j] = tempVar; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /easy/java/selectionSort/SelectionSorting.java: -------------------------------------------------------------------------------- 1 | package selectionSort; 2 | 3 | public class SelectionSorting { 4 | public static void main(String[] args) { 5 | int[] result = selectionSort(new int[] { 8, 5, 2, 9, 5, 6, 3 }); 6 | for (int i : result) { 7 | System.out.print(i + ","); 8 | 9 | } 10 | // System.out.println("\nNumber of swaps : "+count); 11 | } 12 | 13 | public static int[] selectionSort(int[] array) { 14 | 15 | for (int i = 0; i < array.length-1; i++) { 16 | int min = array[i]; 17 | int k = i; 18 | for (int j = i + 1; j < array.length; j++) { 19 | if(array[j] < min){ 20 | min = array[j]; 21 | k=j; 22 | } 23 | } 24 | int temp= array[i]; 25 | array[i]=array[k]; 26 | array[k]=temp; 27 | System.out.println("after swap "+ array[i]+", "+array[k]); 28 | } 29 | 30 | return array; 31 | } 32 | 33 | 34 | } -------------------------------------------------------------------------------- /easy/java/threelargestNumbers/ThreeLargestBruteForce.java: -------------------------------------------------------------------------------- 1 | package threelargestNumbers; 2 | 3 | public class ThreeLargestBruteForce { 4 | 5 | } -------------------------------------------------------------------------------- /easy/java/threelargestNumbers/ThreeLargestOptimal.java: -------------------------------------------------------------------------------- 1 | package threelargestNumbers; 2 | 3 | import java.util.Arrays; 4 | import java.util.Iterator; 5 | import java.util.PriorityQueue; 6 | 7 | public class ThreeLargestOptimal { 8 | 9 | public static void main(String[] args) { 10 | // Creating empty priority queue 11 | int[] array = new int[] { -1, -2, -3, -7, -17, -27, -18, -541, -8, -7, 7 }; 12 | PriorityQueue maxHeap = new PriorityQueue(); 13 | int[] resultArray = new int[3]; 14 | for (Integer integer : array) { 15 | if (maxHeap.contains(integer * (-1))) { 16 | maxHeap.offer(integer * (-1)); 17 | } 18 | maxHeap.add(integer * (-1)); 19 | 20 | } 21 | int count = 2; 22 | Iterator itr = maxHeap.iterator(); 23 | while (itr.hasNext() && count > -1) { 24 | resultArray[count--] = (int) itr.next() * (-1); 25 | } 26 | Arrays.sort(resultArray); 27 | // return resultArray; 28 | System.out.println(resultArray[0] + "," + resultArray[1] + "," + resultArray[2]); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /easy/java/threelargestNumbers/ThreeLargestUsingSort.java: -------------------------------------------------------------------------------- 1 | package threelargestNumbers; 2 | 3 | import java.util.Arrays; 4 | 5 | 6 | public class ThreeLargestUsingSort { 7 | public static void main(String[] args) { 8 | int[] array = new int[] {141,1,17,-7,-17,-27,18,541,8,7,7}; 9 | int[] result = find3Largest(array); 10 | System.out.println(result[0]+","+result[1]+","+result[2]); 11 | } 12 | 13 | private static int[] find3Largest(int[] array) { 14 | int[] temp = new int[3]; 15 | 16 | Arrays.sort(array); 17 | 18 | int i=2; 19 | int k=0; 20 | while(i>-1){ 21 | temp[k]=array[array.length-1-i]; 22 | i--; 23 | k++; 24 | } 25 | return temp; 26 | } 27 | 28 | 29 | } -------------------------------------------------------------------------------- /easy/python/DepthFirstSearch.py: -------------------------------------------------------------------------------- 1 | ''' 2 | // for the depthFirstSearch method. 3 | // Feel free to add new properties 4 | // and methods to the class. 5 | // Do not edit the class below except 6 | ''' 7 | class Node { 8 | constructor(name) { 9 | this.name = name; 10 | this.children = []; 11 | } 12 | 13 | addChild(name) { 14 | this.children.push(new Node(name)); 15 | return this; 16 | } 17 | 18 | depthFirstSearch(array) { 19 | // Write your code here. 20 | } 21 | } 22 | 23 | // Do not edit the line below. 24 | exports.Node = Node; 25 | -------------------------------------------------------------------------------- /easy/python/NthFibonacci.py: -------------------------------------------------------------------------------- 1 | def getNthFib(n): 2 | a = 0 3 | b = 1 4 | counter = 3 5 | while counter <= n: 6 | fib = a + b 7 | a,b = b,fib 8 | counter +=1 9 | return b if n>1 else fib 10 | 11 | n = 6 12 | print(getNthFib(n)) -------------------------------------------------------------------------------- /easy/python/branchSums.py: -------------------------------------------------------------------------------- 1 | class BinaryTree: 2 | def __init__(self, value): 3 | self.left = None 4 | self.right = None 5 | self.value = value 6 | def branchSums(root): 7 | sums = [] 8 | branchSumsRecurse(root, 0, sums) 9 | def branchSumsRecurse(node, runningSum, sums): 10 | if node is None: 11 | return 12 | newRunningSum = runningSum + node.value 13 | if node.left is None and node.right is None: 14 | sums.append(newRunningSum) 15 | return 16 | branchSumsRecurse(node.left, newRunningSum, sums) 17 | branchSumsRecurse(node.right, newRunningSum, sums) -------------------------------------------------------------------------------- /easy/python/threelargest/threeLargestUsingHeaps.py: -------------------------------------------------------------------------------- 1 | import heapq 2 | def findThreeLargestNumbers(array): 3 | heaps = array 4 | heapq.heapify(heaps) 5 | return sorted(heapq.nlargest(3, heaps)) -------------------------------------------------------------------------------- /easy/python/threelargest/threeLargestUsingSort.py: -------------------------------------------------------------------------------- 1 | # O(nlogn) Simple but not the best 2 | def findThreeLargestNumbers(array): 3 | array.sort() 4 | return array[-3:] -------------------------------------------------------------------------------- /easy/python/twoSum/twoSumBruteForce.py: -------------------------------------------------------------------------------- 1 | # Approach #01 2 | ''' 3 | Using 2 loops to check every combination if there is a pair whose sum equals to the given number. 4 | Time: O(n^2) 5 | Space: O(1) 6 | ''' 7 | def twoSum(ar, k): 8 | for i in range(len(ar)-1): 9 | for j in range(i+1, len(ar)): 10 | if((ar[i]+ar[j])==k): 11 | return sorted([ar[i],ar[j]]) 12 | return [] -------------------------------------------------------------------------------- /easy/python/twoSum/twoSumOptimal.py: -------------------------------------------------------------------------------- 1 | 2 | # Approach #02 3 | ''' 4 | Using a hash/dictionary to lookup if 5 | Time: O(n) 6 | Space: O(n) 7 | ''' 8 | def twoSumUsingDictionary(ar, k): 9 | d = {} 10 | for i in range(len(ar)): 11 | if k-ar[i] in d: 12 | return sorted([k-ar[i], ar[i]]) 13 | else: 14 | d[ar[i]] = True 15 | return [] -------------------------------------------------------------------------------- /easy/python/twoSum/twoSumTwoPointer.py: -------------------------------------------------------------------------------- 1 | # Approach #03 2 | ''' 3 | Using a sort function to sort the given list first then use binary search method. 4 | Time: O(n log(n)) 5 | Space: O(1) 6 | ''' 7 | def twoSumUsingSort(ar, k): 8 | ar.sort() 9 | left = 0 10 | right = len(ar)-1 11 | while left < right: 12 | twoSum = ar[left]+ar[right] 13 | if twoSum == k: 14 | return sorted( [ ar[left], ar[right] ] ) 15 | elif twoSum < k: 16 | left = left + 1 17 | elif twoSum > k: 18 | right = right - 1 19 | return [] -------------------------------------------------------------------------------- /easy/python/validateSubsequence/Validate_Sequence.py: -------------------------------------------------------------------------------- 1 | ''' 2 | array = [5,1,22,25,6,-1,8,10] 3 | sequence = [1,6,-1,10] 4 | 5 | check if sequence is subsequence of array 6 | ''' 7 | 8 | def isValidSubsequence(array, sequence): 9 | result = True 10 | for i in sequence: 11 | if i in array: 12 | array = array[array.index(i)+1:] 13 | else: 14 | return False 15 | return result -------------------------------------------------------------------------------- /extremelyhard/LongestCommonSubsequence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/extremelyhard/LongestCommonSubsequence.py -------------------------------------------------------------------------------- /extremelyhard/airport.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/extremelyhard/airport.py -------------------------------------------------------------------------------- /hard/BoggleBoard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/BoggleBoard.py -------------------------------------------------------------------------------- /hard/ContinuousMedian.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/ContinuousMedian.py -------------------------------------------------------------------------------- /hard/DiskStack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/DiskStack.py -------------------------------------------------------------------------------- /hard/FindLoop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/FindLoop.py -------------------------------------------------------------------------------- /hard/FourNumberSum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/FourNumberSum.py -------------------------------------------------------------------------------- /hard/HeapSort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/HeapSort.py -------------------------------------------------------------------------------- /hard/Knapsack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/Knapsack.py -------------------------------------------------------------------------------- /hard/LargestRange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/LargestRange.py -------------------------------------------------------------------------------- /hard/LongestSubstringNonDuplicate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/LongestSubstringNonDuplicate.py -------------------------------------------------------------------------------- /hard/LowestCommonManger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/LowestCommonManger.py -------------------------------------------------------------------------------- /hard/MaxPathSumBst.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/MaxPathSumBst.py -------------------------------------------------------------------------------- /hard/MaxSumIncreasingSubsequece.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/MaxSumIncreasingSubsequece.py -------------------------------------------------------------------------------- /hard/MinJumps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/MinJumps.py -------------------------------------------------------------------------------- /hard/MinReward.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/MinReward.py -------------------------------------------------------------------------------- /hard/MultiStringSearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/MultiStringSearch.py -------------------------------------------------------------------------------- /hard/PatternMatcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/PatternMatcher.py -------------------------------------------------------------------------------- /hard/QuickSelect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/QuickSelect.py -------------------------------------------------------------------------------- /hard/QuickSort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/QuickSort.py -------------------------------------------------------------------------------- /hard/SearchForRange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/SearchForRange.py -------------------------------------------------------------------------------- /hard/ShiftedBinarySearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/ShiftedBinarySearch.py -------------------------------------------------------------------------------- /hard/SubarraySort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/SubarraySort.py -------------------------------------------------------------------------------- /hard/TopologicalSort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/TopologicalSort.py -------------------------------------------------------------------------------- /hard/UnderscorifySubstring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/UnderscorifySubstring.py -------------------------------------------------------------------------------- /hard/WaterArea.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/hard/WaterArea.py -------------------------------------------------------------------------------- /medium/3numberSum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/3numberSum.py -------------------------------------------------------------------------------- /medium/BalancedBracket.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/BalancedBracket.py -------------------------------------------------------------------------------- /medium/BreadthFirstSearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/BreadthFirstSearch.py -------------------------------------------------------------------------------- /medium/BstConstruction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/BstConstruction.py -------------------------------------------------------------------------------- /medium/BstTraversal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/BstTraversal.py -------------------------------------------------------------------------------- /medium/CoinChange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/CoinChange.py -------------------------------------------------------------------------------- /medium/InvertBinaryTree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/InvertBinaryTree.py -------------------------------------------------------------------------------- /medium/Kadane.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/Kadane.py -------------------------------------------------------------------------------- /medium/Levenshtein.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/Levenshtein.py -------------------------------------------------------------------------------- /medium/LongestPalindromicSubstring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/LongestPalindromicSubstring.py -------------------------------------------------------------------------------- /medium/MakeChange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/MakeChange.py -------------------------------------------------------------------------------- /medium/MaxSubsetSumNoAdjacent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/MaxSubsetSumNoAdjacent.py -------------------------------------------------------------------------------- /medium/MinHeap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/MinHeap.py -------------------------------------------------------------------------------- /medium/MinMaxStack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/MinMaxStack.py -------------------------------------------------------------------------------- /medium/Permutation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/Permutation.py -------------------------------------------------------------------------------- /medium/PowerSet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/PowerSet.py -------------------------------------------------------------------------------- /medium/RemoveKthNode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/RemoveKthNode.py -------------------------------------------------------------------------------- /medium/RiverSizes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/RiverSizes.py -------------------------------------------------------------------------------- /medium/SingleCycle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/SingleCycle.py -------------------------------------------------------------------------------- /medium/SmallestDifference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/SmallestDifference.py -------------------------------------------------------------------------------- /medium/SortedMatrixSearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/SortedMatrixSearch.py -------------------------------------------------------------------------------- /medium/SuffixTrie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/SuffixTrie.py -------------------------------------------------------------------------------- /medium/ValidateBst.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/ValidateBst.py -------------------------------------------------------------------------------- /medium/YoungestCommonAncestor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/medium/YoungestCommonAncestor.py -------------------------------------------------------------------------------- /veryhard/IterativeInorder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/IterativeInorder.py -------------------------------------------------------------------------------- /veryhard/KTransacationMaxProfit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/KTransacationMaxProfit.py -------------------------------------------------------------------------------- /veryhard/KmpAlgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/KmpAlgorithm.py -------------------------------------------------------------------------------- /veryhard/LruCache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/LruCache.py -------------------------------------------------------------------------------- /veryhard/MergeSort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/MergeSort.py -------------------------------------------------------------------------------- /veryhard/MinCutsPalindromePartition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/MinCutsPalindromePartition.py -------------------------------------------------------------------------------- /veryhard/NumberOfBinaryTreeTopologies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssjsatish/100-Interview-Problems/dd2c6fb5da440fa3548f6f518f15b30a7219be5d/veryhard/NumberOfBinaryTreeTopologies.py --------------------------------------------------------------------------------