Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kyle8998/Practice-Coding-Questions

Practice set for SWE interview prep. Includes my personal solutions for Leetcode, CTCI, SPOJ, etc.
https://github.com/kyle8998/Practice-Coding-Questions

algorithms coding-interview coding-interviews ctci ctci-solutions interview interview-preparation java leetcode leetcode-solutions practice practice-programming python software-engineering solutions study

Last synced: about 2 months ago
JSON representation

Practice set for SWE interview prep. Includes my personal solutions for Leetcode, CTCI, SPOJ, etc.

Awesome Lists containing this project

README

        

# Practice-Coding-Questions

Personal Practice Set - Doing One a Day (sometimes) in a Variety of Languages (Mostly Python)!

[![forthebadge](https://forthebadge.com/images/badges/contains-technical-debt.svg)](http://forthebadge.com)

---

## Leetcode

| # | Difficulty | Problem | Solution |
| -- | ---------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| 1 | Easy | [Two Sum](leetcode/1-Easy-Two-Sum/problem.md) | [Java](leetcode/1-Easy-Two-Sum/answer.java), [Python](leetcode/1-Easy-Two-Sum/answer.py), [Ruby](leetcode/1-Easy-Two-Sum/answer.rb)|
| 2 | Medium | [Add Two Numbers](leetcode/2-Medium-Add-Two-Numbers/problem.md) | [C](leetcode/2-Medium-Add-Two-Numbers/answer.c) |
| 3 | Medium | [Longest Substring Without Repeating Characters](leetcode/3-Medium-Longest-Substring-Without-Repeating-Characters/problem.md) | [Python](leetcode/3-Medium-Longest-Substring-Without-Repeating-Characters/answer.py) |
| 4 | Hard | [Median of Two Sorted Arrays](leetcode/4-Hard-Median-Of-Two-Sorted-Arrays/problem.md) | [Python](leetcode/4-Hard-Median-Of-Two-Sorted-Arrays/answer.py) |
| 5 | Medium | [Longest Palindromic Substring](leetcode/5-Medium-Longest-Palindromic-Substring/problem.md) | [Python](leetcode/5-Medium-Longest-Palindromic-Substring/answer.py) |
| 6 | Medium | [Zig Zag Conversion](leetcode/6-Medium-Zig-Zag-Conversion/problem.md) | [Java](leetcode/6-Medium-Zig-Zag-Conversion/answer.java) |
| 7 | Easy | [Reverse Integer](leetcode/7-Easy-Reverse-Integer/problem.md) | [Python](leetcode/7-Easy-Reverse-Integer/answer.py) |
| 8 | Medium | [String to Integer](leetcode/8-Medium-Atoi/problem.md) | [Ruby](leetcode/8-Medium-Atoi/answer.rb) |
| 9 | Easy | [Palindrome Number](leetcode/9-Easy-Palindrome-Number/problem.md) | [C](leetcode/9-Easy-Palindrome-Number/answer.c), [Java](leetcode/9-Easy-Palindrome-Number/answer.java), [Python](leetcode/9-Easy-Palindrome-Number/answer.py), [Swift](leetcode/9-Easy-Palindrome-Number/answer.swift) |
| 10 | Hard | [Regular Expression Matching](leetcode/10-Hard-Regular-Expression-Matching/problem.md) | [Python](leetcode/10-Hard-Regular-Expression-Matching/answer.py) |
| 11 | Medium | [Container With Most Water](leetcode/11-Medium-Container-With-Most-Water/problem.md) | [Python](leetcode/11-Medium-Container-With-Most-Water/answer.py) |
| 12 | Medium | [Integer to Roman](leetcode/12-Medium-Integer-To-Roman/problem.md) | [Python](leetcode/12-Medium-Integer-To-Roman/answer.py) |
| 13 | Easy | [Roman to Integer](leetcode/13-Easy-Roman-To-Integer/problem.md) | [C](leetcode/13-Easy-Roman-To-Integer/answer.c), [Python](leetcode/13-Easy-Roman-To-Integer/answer.py)|
| 14 | Easy | [Longest Common Prefix](leetcode/14-Easy-Longest-Common-Prefix/problem.md) | [Python](leetcode/14-Easy-Longest-Common-Prefix/answer.py) |
| 15 | Medium | [3Sum](leetcode/15-Medium-3Sum/problem.md) | [Python](leetcode/15-Medium-3Sum/answer.py) |
| 16 | Medium | [3Sum Closest](leetcode/16-Medium-3Sum-Closest/problem.md) | [Python](leetcode/16-Medium-3Sum-Closest/answer.py) |
| 17 | Medium | [Letter Combinations of a Phone Number](leetcode/17-Medium-Letter-Combinations-Of-A-Phone-Number/problem.md) | [Python](leetcode/17-Medium-Letter-Combinations-Of-A-Phone-Number/answer.py) |
| 18 | Medium | [4Sum](leetcode/18-Medium-4Sum/problem.md) | [Python](leetcode/18-Medium-4Sum/answer.py) |
| 19 | Medium | [Remove Nth Node From End of List](leetcode/19-Medium-Remove-Nth-Node-From-End-Of-List/problem.md) | [Python](leetcode/19-Medium-Remove-Nth-Node-From-End-Of-List/answer.py) |
| 20 | Easy | [Valid Parentheses](leetcode/20-Easy-Valid-Parentheses/problem.md) | [Java](leetcode/20-Easy-Valid-Parentheses/answer.java), [Python](leetcode/20-Easy-Valid-Parentheses/answer.py) |
| 21 | Easy | [Merge Two Sorted Lists](leetcode/21-Easy-Merge-Two-Sorted-Lists/problem.md) | [Java](leetcode/21-Easy-Merge-Two-Sorted-Lists/answer.java), [Python](leetcode/21-Easy-Merge-Two-Sorted-Lists/answer.py)|
| 22 | Medium | [Generate Parentheses](leetcode/22-Medium-Generate-Parentheses/problem.md) | [Python](leetcode/22-Medium-Generate-Parentheses/answer.py) |
| 23 | Hard | [Merge k Sorted Lists](leetcode/23-Hard-Merge-K-Sorted-Lists/problem.md) | [Python](leetcode/23-Hard-Merge-K-Sorted-Lists/answer.py) |
| 24 | Medium | [Swap Node in Pairs](leetcode/24-Medium-Swap-Nodes-In-Pairs/problem.md) | [Python](leetcode/24-Medium-Swap-Nodes-In-Pairs/answer.py) |
| 25 | Hard | [Reverse Nodes in k-Group](leetcode/25-Hard-Reverse-Nodes-In-K-Group/problem.md) | [Python](leetcode/25-Hard-Reverse-Nodes-In-K-Group/answer.py) |
| 26 | Easy | [Remove Duplicates from Sorted Array](leetcode/26-Easy-Remove-Duplicates-From-Sorted-Array/problem.md) | [C](leetcode/26-Easy-Remove-Duplicates-From-Sorted-Array/answer.c), [Python](leetcode/26-Easy-Remove-Duplicates-From-Sorted-Array/answer.py) |
| 27 | Easy | [Remove Element](leetcode/27-Easy-Remove-Element/problem.md) | [Python](leetcode/27-Easy-Remove-Element/answer.py) |
| 28 | Easy | [Implement strStr()](leetcode/28-Easy-Implement-strStr/problem.md) | [C](leetcode/28-Easy-Implement-strStr/answer.c), [Python](leetcode/28-Easy-Implement-strStr/answer.py) |
| 29 | Medium | [Divide Two Integers](leetcode/29-Medium-Divide-Two-Integers/problem.md) | [Python](leetcode/29-Medium-Divide-Two-Integers/answer.py) |
| 31 | Medium | [Next Permutation](leetcode/31-Medium-Next-Permutation/problem.md) | [Python](leetcode/31-Medium-Next-Permutation/answer.py) |
| 33 | Medium | [Search in Rotated Sorted Array](leetcode/33-Medium-Search-In-Rotated-Sorted-Array/problem.md) | [Python](leetcode/33-Medium-Search-In-Rotated-Sorted-Array/answer.py) |
| 34 | Medium | [Find First and Last Position of Element in Sorted Array](leetcode/34-Medium-Find-First-And-Last-Position-Of-Element-In-Sorted-Array/problem.md) | [Python](leetcode/34-Medium-Find-First-And-Last-Position-Of-Element-In-Sorted-Array/answer.py) |
| 35 | Easy | [Search Insert Position](leetcode/35-Easy-Search-Insert-Position/problem.md) | [Go](leetcode/35-Easy-Search-Insert-Position/answer.go), [Java](leetcode/35-Easy-Search-Insert-Position/answer.java), [JavaScript](leetcode/35-Easy-Search-Insert-Position/answer.js), [Scala](leetcode/35-Easy-Search-Insert-Position/answer.scala) |
| 36 | Medium | [Valid Sudoku](leetcode/36-Medium-Valid-Sudoku/problem.md) | [Python](leetcode/36-Medium-Valid-Sudoku/answer.py) |
| 38 | Easy | [Count and Say](leetcode/38-Easy-Count-And-Say/problem.md) | [Python](leetcode/38-Easy-Count-And-Say/answer.py) |
| 39 | Medium | [Combination Sum](leetcode/39-Medium-Combination-Sum/problem.md) | [Python](leetcode/39-Medium-Combination-Sum/answer.py) |
| 40 | Medium | [Combination Sum II](leetcode/40-Medium-Combination-Sum-II/problem.md) | [Python](leetcode/40-Medium-Combination-Sum-II/answer.py) |
| 42 | Hard | [Trapping Rain Water](leetcode/42-Hard-Trapping-Rain-Water/problem.md) | [Python](leetcode/42-Hard-Trapping-Rain-Water/answer.py) |
| 43 | Medium | [Multiply Strings](leetcode/43-Medium-Multiply-Strings/problem.md) | [Python](leetcode/43-Medium-Multiply-Strings/answer.py) |
| 44 | Hard | [Wildcard Matching](leetcode/44-Hard-Wildcard-Matching/problem.md) | [Python](leetcode/44-Hard-Wildcard-Matching/answer.py) |
| 46 | Medium | [Permutations](leetcode/46-Medium-Permutations/problem.md) | [Python](leetcode/46-Medium-Permutations/answer.py) |
| 47 | Medium | [Permutations II](leetcode/47-Medium-Permutations-II/problem.md) | [Python](leetcode/47-Medium-Permutations-II/answer.py) |
| 48 | Medium | [Rotate Image](leetcode/48-Medium-Rotate-Image/problem.md) | [Python](leetcode/48-Medium-Rotate-Image/answer.py) |
| 49 | Medium | [Group Anagrams](leetcode/49-Medium-Group-Anagrams/problem.md) | [Python](leetcode/49-Medium-Group-Anagrams/answer.py) |
| 50 | Medium | [Pow(x, n)](leetcode/50-Medium-Pow(x,n)/problem.md) | [Python](leetcode/50-Medium-Pow(x,n)/answer.py) |
| 53 | Easy | [Maximum Subarray](leetcode/53-Easy-Maximum-Subarray/problem.md) | [Java](leetcode/53-Easy-Maximum-Subarray/answer.java) |
| 54 | Medium | [Spiral Matrix](leetcode/54-Medium-Spiral-Matrix/problem.md) | [Python](leetcode/54-Medium-Spiral-Matrix/answer.py) |
| 55 | Medium | [Jump Game](leetcode/55-Medium-Jump-Game/problem.md) | [Python](leetcode/55-Medium-Jump-Game/answer.py) |
| 56 | Medium | [Merge Intervals](leetcode/56-Medium-Merge-Intervals/problem.md) | [Python](leetcode/56-Medium-Merge-Intervals/answer.py) |
| 58 | Easy | [Length of Last Word](leetcode/58-Easy-Length-Of-Last-Word/problem.md) | [Python](leetcode/58-Easy-Length-Of-Last-Word/answer.py) |
| 62 | Medium | [Unique Paths](leetcode/62-Medium-Unique-Paths/problem.md) | [Python](leetcode/62-Medium-Unique-Paths/answer.py) |
| 63 | Medium | [Unique Paths II](leetcode/63-Medium-Unique-Paths-II/problem.md) | [Python](leetcode/63-Medium-Unique-Paths-II/answer.py) |
| 64 | Medium | [Minimum Path Sum](leetcode/64-Medium-Minimum-Path-Sum/problem.md) | [Python](leetcode/64-Medium-Minimum-Path-Sum/answer.py) |
| 66 | Easy | [Plus One](leetcode/66-Easy-Plus-One/problem.md) | [Python](leetcode/66-Easy-Plus-One/answer.py) |
| 67 | Easy | [Add Binary](leetcode/67-Easy-Add-Binary/problem.md) | [Python](leetcode/67-Easy-Add-Binary/answer.py) |
| 69 | Easy | [Sqrt()](leetcode/69-Easy-Sqrt/problem.md) | [Python](leetcode/69-Easy-Sqrt/answer.py) |
| 70 | Easy | [Climbing Stairs](leetcode/70-Easy-Climbing-Stairs/problem.md) | [C](leetcode/70-Easy-Climbing-Stairs/answer.c) |
| 76 | Hard | [Minimum Window Substring](leetcode/76-Hard-Minimum-Window-Substring/problem.md) | [Python](leetcode/76-Hard-Minimum-Window-Substring/answer.py) |
| 78 | Medium | [Subsets](leetcode/78-Medium-Subsets/problem.md) | [Python](leetcode/78-Medium-Subsets/answer.py) |
| 79 | Medium | [Word Search](leetcode/79-Medium-Word-Search/problem.md) | [Python](leetcode/79-Medium-Word-Search/answer.py) |
| 83 | Easy | [Remove Duplicates from Sorted List](leetcode/83-Easy-Remove-Duplicates-From-Sorted-List/problem.md) | [Python](leetcode/83-Easy-Remove-Duplicates-From-Sorted-List/answer.py)|
| 84 | Hard | [Largest Rectangle in Histogram](leetcode/84-Hard-Largest-Rectangle-In-Histogram/problem.md) | [Python](leetcode/84-Hard-Largest-Rectangle-In-Histogram/answer.py)|
| 85 | Hard | [Maximal Rectangle](leetcode/85-Hard-Maximal-Rectangle/problem.md) | [Python](leetcode/85-Hard-Maximal-Rectangle/answer.py) |
| 88 | Easy | [Merge Sorted Array](leetcode/88-Easy-Merge-Sorted-Array/problem.md) | [Python](leetcode/88-Easy-Merge-Sorted-Array/answer.py) |
| 100| Easy | [Same Tree](leetcode/100-Easy-Same-Tree/problem.md) | [Python](leetcode/100-Easy-Same-Tree/answer.py) |
| 101| Easy | [Symmetric Tree](leetcode/101-Easy-Symmetric-Tree/problem.md) | [Python](leetcode/101-Easy-Symmetric-Tree/answer.py) |
| 102| Medium | [Binary Tree Level Order Traversal](leetcode/102-Medium-Binary-Tree-Level-Order-Traversal/problem.md) | [Python](leetcode/102-Medium-Binary-Tree-Level-Order-Traversal/answer.py)|
| 104| Easy | [Maximum Depth of Binary Tree](leetcode/104-Easy-Maximum-Depth-Of-Binary-Tree/problem.md) | [Python](leetcode/104-Easy-Maximum-Depth-Of-Binary-Tree/answer.py)|
| 105| Medium | [Construct Binary Tree from Preorder and Inorder Traversal](leetcode/105-Medium-Construct-Binary-Tree-From-Preorder-And-Inorder-Traversal/problem.md) | [Python](leetcode/105-Medium-Construct-Binary-Tree-From-Preorder-And-Inorder-Traversal/answer.py)|
| 106| Medium | [Construct Binary Tree from Inorder and Postorder Traversal](leetcode/106-Medium-Construct-Binary-Tree-From-Inorder-And-Postorder-Traversal/problem.md) | [Python](leetcode/106-Medium-Construct-Binary-Tree-From-Inorder-And-Postorder-Traversal/answer.py)|
| 107| Easy | [Binary Tree Level Order Traversal II](leetcode/107-Easy-Binary-Tree-Level-Order-Traversal-II/problem.md) | [Python](leetcode/107-Easy-Binary-Tree-Level-Order-Traversal-II/answer.py)|
| 108| Easy | [Convert Sorted Array to Binary Search Tree](leetcode/108-Convert-Sorted-Array-To-Binary-Search-Tree/problem.md) | [Python](leetcode/108-Convert-Sorted-Array-To-Binary-Search-Tree/answer.py)|
| 110| Easy | [Balanced Binary Tree](leetcode/110-Easy-Balanced-Binary-Tree/problem.md) | [Python](leetcode/110-Easy-Balanced-Binary-Tree/answer.py) |
| 111| Easy | [Minimum Depth of Binary Tree](leetcode/111-Easy-Minimum-Depth-Of-Binary-Tree/problem.md) | [Python](leetcode/111-Easy-Minimum-Depth-Of-Binary-Tree/answer.py)|
| 112| Easy | [Path Sum](leetcode/112-Easy-Path-Sum/problem.md) | [Python](leetcode/112-Easy-Path-Sum/answer.py) |
| 118| Easy | [Pascal's Triangle](leetcode/118-Easy-Pascal's-Triangle/problem.md) | [Python](leetcode/118-Easy-Pascal's-Triangle/answer.py) |
| 121| Easy | [Best Time to Buy and Sell Stock](leetcode/121-Easy-Best-Time-To-Buy-And-Sell-Stock/problem.md) | [Python](leetcode/121-Easy-Best-Time-To-Buy-And-Sell-Stock/answer.py) |
| 122| Easy | [Best Time to Buy and Sell Stock II](leetcode/122-Easy-Best-Time-To-Buy-And-Sell-Stock-II/problem.md) | [Python](leetcode/122-Easy-Best-Time-To-Buy-And-Sell-Stock-II/answer.py) |
| 123| Hard | [Best Time to Buy and Sell Stock III](leetcode/123-Hard-Best-Time-To-Buy-And-Sell-Stock-III/problem.md) | [Python](leetcode/123-Hard-Best-Time-To-Buy-And-Sell-Stock-III/answer.py) |
| 125| Easy | [Valid Palindrome](leetcode/125-Easy-Valid-Palindrome/problem.md) | [Python](leetcode/125-Easy-Valid-Palindrome/answer.py) |
| 127| Medium | [Word Ladder](leetcode/127-Medium-Word-Ladder/problem.md) | [Python](leetcode/127-Medium-Word-Ladder/answer.py) |
| 133| Medium | [Clone Graph](leetcode/133-Medium-Clone-Graph/problem.md) | [Python](leetcode/133-Medium-Clone-Graph/answer.py) |
| 136| Easy | [Single Number](leetcode/136-Easy-Single-Number/problem.md) | [Python](leetcode/136-Easy-Single-Number/answer.py) |
| 137| Medium | [Single Number II](leetcode/137-Medium-Single-Number-II/problem.md) | [Python](leetcode/137-Medium-Single-Number-II/answer.py) |
| 139| Medium | [Word Break](leetcode/139-Medium-Word-Break/problem.md) | [Python](leetcode/139-Medium-Word-Break/answer.py) |
| 141| Easy | [Linked List Cycle](leetcode/141-Easy-Linked-List-Cycle/problem.md) | [Python](leetcode/141-Easy-Linked-List-Cycle/answer.py) |
| 142| Medium | [Linked List Cycle II](leetcode/142-Medium-Linked-List-Cycle-II/problem.md) | [Python](leetcode/142-Medium-Linked-List-Cycle-II/answer.py) |
| 146| Hard | [LRU Cache](leetcode/146-Hard-LRU-Cache/problem.md) | [Python](leetcode/146-Hard-LRU-Cache/answer.py) |
| 148| Medium | [Sort List](leetcode/148-Medium-Sort-List/problem.md) | [Python](leetcode/148-Medium-Sort-List/answer.py) |
| 153| Medium | [Find Minimum in Rotated Sorted Array](leetcode/153-Medium-Find-Minimum-In-Rotated-Sorted-Array/problem.md) | [Python](leetcode/153-Medium-Find-Minimum-In-Rotated-Sorted-Array/answer.py)|
| 155| Easy | [Min Stack](leetcode/155-Easy-Min-Stack/problem.md) | [Python](leetcode/155-Easy-Min-Stack/answer.py) |
| 162| Medium | [Find Peak Element](leetcode/162-Medium-Find-Peak-Element/problem.md) | [Python](leetcode/162-Medium-Find-Peak-Element/answer.py) |
| 168| Easy | [Excel Sheet Column Title](leetcode/168-Easy-Excel-Sheet-Column-Title/problem.md) | [Python](leetcode/168-Easy-Excel-Sheet-Column-Title/answer.py) |
| 171| Easy | [Excel Sheet Column Number](leetcode/171-Easy-Excel-Sheet-Column-Number/problem.md) | [Python](leetcode/171-Easy-Excel-Sheet-Column-Number/answer.py) |
| 173| Medium | [Binary Search Tree Iterator](leetcode/173-Medium-Binary-Search-Tree-Iterator/problem.md) | [Python](leetcode/173-Medium-Binary-Search-Tree-Iterator/answer.py) |
| 188| Hard | [Best Time to Buy and Sell Stock IV](leetcode/188-Hard-Best-Time-To-Buy-And-Sell-Stock-IV/problem.md) | [Python](leetcode/188-Hard-Best-Time-To-Buy-And-Sell-Stock-IV/answer.py) |
| 191| Easy | [Number of 1 Bits](leetcode/191-Easy-Number-Of-1-Bits/problem.md) | [Python](leetcode/191-Easy-Number-Of-1-Bits/answer.py) |
| 196| Easy | [Delete Duplicate Emails](leetcode/196-Easy-Delete-Duplicate-Emails/problem.md) | [SQL](leetcode/196-Easy-Delete-Duplicate-Emails/answer.sql) |
| 200| Medium | [Number of Islands](leetcode/200-Medium-Number-Of-Islands/problem.md) | [Python](leetcode/200-Medium-Number-Of-Islands/answer.py) |
| 204| Easy | [Count Primes](leetcode/204-Easy-Count-Primes/problem.md) | [Python](leetcode/204-Easy-Count-Primes/answer.py) |
| 206| Easy | [Reverse Linked List](leetcode/206-Easy-Reverse-Linked-List/problem.md) | [Python](leetcode/206-Easy-Reverse-Linked-List/answer.py) |
| 207| Medium | [Course Schedule](leetcode/207-Medium-Course-Schedule/problem.md) | [Python](leetcode/207-Medium-Course-Schedule/answer.py) |
| 208| Medium | [Implement Trie](leetcode/208-Medium-Implement-Trie/problem.md) | [Java](leetcode/208-Medium-Implement-Trie/answer.java), [Python](leetcode/208-Medium-Implement-Trie/answer.py)|
| 215| Medium | [Kth Largest Element in an Array](leetcode/215-Medium-Kth-Largest-Element-In-An-Array/problem.md) | [Python](leetcode/215-Medium-Kth-Largest-Element-In-An-Array/answer.py)|
| 218| Hard | [The Skyline Problem](leetcode/218-Hard-The-Skyline-Problem/problem.md) | [Python](leetcode/218-Hard-The-Skyline-Problem/answer.py) |
| 226| Easy | [Invert Binary Tree](leetcode/226-Easy-Invert-Binary-Tree/problem.md) | [Python](leetcode/226-Easy-Invert-Binary-Tree/answer.py) |
| 231| Easy | [Power Of Two](leetcode/231-Easy-Power-Of-Two/problem.md) | [Python](leetcode/231-Easy-Power-Of-Two/answer.py) |
| 234| Easy | [Palindrome Linked List](leetcode/234-Easy-Palindrome-Linked-List/problem.md) | [Python](leetcode/234-Easy-Palindrome-Linked-List/answer.py) |
| 235| Easy | [Lowest Common Ancestor of a Binary Search Tree](leetcode/235-Easy-Lowest-Common-Ancestor-Of-A-Binary-Search-Tree/problem.md) | [Python](leetcode/235-Easy-Lowest-Common-Ancestor-Of-A-Binary-Search-Tree/answer.py)|
| 236| Medium | [Lowest Common Ancestor of a Binary Tree](leetcode/236-Medium-Lowest-Common-Ancestor-Of-A-Binary-Tree/problem.md) | [Python](leetcode/236-Medium-Lowest-Common-Ancestor-Of-A-Binary-Tree/answer.py)|
| 237| Easy | [Delete Node in a Linked List](leetcode/237-Easy-Delete-Node-In-A-Linked-List/problem.md) | [Python](leetcode/237-Easy-Delete-Node-In-A-Linked-List/answer.py)|
| 238| Medium | [Product of Array Except Self](leetcode/238-Medium-Product-Of-Array-Except-Self/problem.md) | [Python](leetcode/238-Medium-Product-Of-Array-Except-Self/answer.py)|
| 240| Medium | [Search a 2D Matrix II](leetcode/240-Medium-Search-A-2D-Matrix-II/problem.md) | [Python](leetcode/240-Medium-Search-A-2D-Matrix-II/answer.py) |
| 258| Easy | [Add Digits](leetcode/235-Easy-Add-Digits/problem.md) | [Python](leetcode/235-Easy-Add-Digits/answer.py) |
| 268| Easy | [Missing Number](leetcode/268-Easy-Missing-Number/problem.md) | [Python](leetcode/268-Easy-Missing-Number/answer.py) |
| 273| Hard | [Integer to English Words](leetcode/273-Hard-Integer-To-English-Words/problem.md) | [Python](leetcode/273-Hard-Integer-To-English-Words/answer.py) |
| 283| Easy | [Move Zeroes](leetcode/283-Easy-Move-Zeroes/problem.md) | [Python](leetcode/283-Easy-Move-Zeroes/answer.py) |
| 287| Medium | [Find the Duplicate Number](leetcode/287-Medium-Find-The-Duplicate-Number/problem.md) | [Python](leetcode/287-Medium-Find-The-Duplicate-Number/answer.py) |
| 295| Hard | [Find Median from Data Stream](leetcode/295-Hard-Find-Median-From-Data-Stream/problem.md) | [Python](leetcode/295-Hard-Find-Median-From-Data-Stream/answer.py)|
| 297| Hard | [Serialize and Deserialize Binary Tree](leetcode/297-Hard-Serialize-And-Deserialize-Binary-Tree/problem.md) | [Java](leetcode/297-Hard-Serialize-And-Deserialize-Binary-Tree/answer.java) |
| 301| Hard | [Remove Invalid Parentheses](leetcode/301-Hard-Remove-Invalid-Parentheses/problem.md) | [Python](leetcode/301-Hard-Remove-Invalid-Parentheses/answer.py) |
| 310| Medium | [Minimum Height Trees](leetcode/310-Medium-Minimum-Height-Trees/problem.md) | [Python](leetcode/310-Medium-Minimum-Height-Trees/answer.py) |
| 341| Medium | [Flatten Nested List Iterator](leetcode/341-Medium-Flatten-Nested-List-Iterator/problem.md) | [Python](leetcode/341-Medium-Flatten-Nested-List-Iterator/answer.py) |
| 344| Easy | [Reverse String](leetcode/344-Easy-Reverse-String/problem.md) | [Python](leetcode/344-Easy-Reverse-String/answer.py) |
| 388| Medium | [Longest Absolute File Path](leetcode/388-Medium-Longest-Absolute-File-Path/problem.md) | [Python](leetcode/388-Medium-Longest-Absolute-File-Path/answer.py)|
| 389| Easy | [Find the Difference](leetcode/389-Easy-Find-The-Difference/problem.md) | [Python](leetcode/389-Easy-Find-The-Difference/answer.py) |
| 461| Easy | [Hamming Distance](leetcode/461-Easy-Hamming-Distance/problem.md) | [Python](leetcode/461-Easy-Hamming-Distance/answer.py) |
| 495| Medium | [Teemo Attacking](leetcode/495-Medium-Teemo-Attacking/problem.md) | [Python](leetcode/495-Medium-Teemo-Attacking/answer.py) |
| 535| Medium | [Encode and Decode TinyURL](leetcode/535-Medium-Encode-And-Decode-TinyURL/problem.md) | [Python](leetcode/535-Medium-Encode-And-Decode-TinyURL/answer.py) |
| 733| Easy | [Flood Fill](leetcode/733-Easy-Flood-Fill/problem.md) | [Python](leetcode/733-Easy-Flood-Fill/answer.py) |
| 771| Easy | [Jewels and Stones](leetcode/771-Easy-Jewels-And-Stones/problem.md) | [Python](leetcode/771-Easy-Jewels-And-Stones/answer.py) |
|1114| Easy | [Print in Order](leetcode/1114-Easy-Print-In-Order/problem.md) | [Python](leetcode/1114-Easy-Print-In-Order/answer.py) |

---

## SPOJ

| # | Difficulty | Problem | Solution |
| -- | ---------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| 1 | Easy | [Life, the Universe, and Everything](SPOJ/1-Life-Universe-Everything/problem.md) | [C](SPOJ/1-Life-Universe-Everything/answer.c) |
| 2 | | | |
| 3 | | | |

---

## Hackerrank

30 Days of Code Challenge

| Day| Difficulty | Problem | Solution |
| -- | ---------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| 0 | Easy | [Hello, World.](https://www.hackerrank.com/challenges/30-hello-world) | [Java](hackerrank/30-days-of-code/day-0.java) |
| 1 | Easy | [Data Types](https://www.hackerrank.com/challenges/30-data-types) | [Java](hackerrank/30-days-of-code/day-1.java) |
| 2 | Easy | [Operators](https://www.hackerrank.com/challenges/30-operators) | [Java](hackerrank/30-days-of-code/day-2.java) |
| 3 | Easy | [Conditional Statements](https://www.hackerrank.com/challenges/30-conditional-statements) | [Python](hackerrank/30-days-of-code/day-3.py) |
| 4 | Easy | [Class vs Instance](https://www.hackerrank.com/challenges/30-class-vs-instance) | [Python](hackerrank/30-days-of-code/day-4.py) |
| 5 | Easy | [Loops](https://www.hackerrank.com/challenges/30-loops) | [Python](hackerrank/30-days-of-code/day-5.py) |
| 6 | Easy | [Let's Review](https://www.hackerrank.com/challenges/30-review-loop) | [Python](hackerrank/30-days-of-code/day-6.py) |
| 7 | Easy | [Arrays](https://www.hackerrank.com/challenges/30-arrays) | [Python](hackerrank/30-days-of-code/day-7.py) |
| 8 | Easy | [Dictionaries and Maps](https://www.hackerrank.com/challenges/30-dictionaries-and-maps) | [Python](hackerrank/30-days-of-code/day-8.py) |
| 9 | Easy | [Recursion](https://www.hackerrank.com/challenges/30-recursion) | [Python](hackerrank/30-days-of-code/day-9.py) |
| 10 | Easy | [Binary Number](https://www.hackerrank.com/challenges/30-binary-numbers) | [Python](hackerrank/30-days-of-code/day-10.py) |
| 11 | Easy | [2D Arrays](https://www.hackerrank.com/challenges/30-2d-arrays) | [Python](hackerrank/30-days-of-code/day-11.py) |
| 12 | Easy | [Inheritance](https://www.hackerrank.com/challenges/30-inheritance) | [Python](hackerrank/30-days-of-code/day-12.py) |
| 13 | Easy | [Abstract Classes](https://www.hackerrank.com/challenges/30-abstract-classes) | [Python](hackerrank/30-days-of-code/day-13.py) |
| 14 | Easy | [Scope](https://www.hackerrank.com/challenges/30-scope) | [Python](hackerrank/30-days-of-code/day-14.py) |
| 15 | Easy | [Linked List](https://www.hackerrank.com/challenges/30-linked-list) | [Python](hackerrank/30-days-of-code/day-15.py) |
| 16 | Easy | [Exceptions - String to Integer](https://www.hackerrank.com/challenges/30-exceptions-string-to-integer) | [Python](hackerrank/30-days-of-code/day-16.py) |
| 17 | Easy | [More Exceptions](https://www.hackerrank.com/challenges/30-more-exceptions) | [Python](hackerrank/30-days-of-code/day-17.py) |
| 18 | Easy | [Queues and Stacks](https://www.hackerrank.com/challenges/30-queues-stacks) | [Python](hackerrank/30-days-of-code/day-18.py) |
| 19 | Easy | [Interfaces](https://www.hackerrank.com/challenges/30-interfaces) | [Java](hackerrank/30-days-of-code/day-19.java) |
| 20 | Easy | [Sorting](https://www.hackerrank.com/challenges/30-sorting) | [Python](hackerrank/30-days-of-code/day-20.py) |
| 21 | Easy | [Generics](https://www.hackerrank.com/challenges/30-generics) | [Java](hackerrank/30-days-of-code/day-21.java) |
| 22 | Easy | [Binary Search Trees](https://www.hackerrank.com/challenges/30-binary-search-trees/) | [Java](hackerrank/30-days-of-code/day-22.java) |
| 23 | Easy | [BST Level-Order Traversal](https://www.hackerrank.com/challenges/30-binary-trees/) | [Python](hackerrank/30-days-of-code/day-23.py) |
| 24 | Easy | [More Linked Lists](https://www.hackerrank.com/challenges/30-linked-list-deletion/) | [Python](hackerrank/30-days-of-code/day-24.py) |
| 25 | Medium | [Running Time and Complexity](https://www.hackerrank.com/challenges/30-running-time-and-complexity/) | [Python](hackerrank/30-days-of-code/day-25.py) |
| 26 | Easy | [Nested Logic](https://www.hackerrank.com/challenges/30-nested-logic/) | [Python](hackerrank/30-days-of-code/day-26.py) |
| 27 | Easy | [Testing](https://www.hackerrank.com/challenges/30-testing/) | [Python](hackerrank/30-days-of-code/day-27.py) |
| 28 | Medium | [RegEx, Patterns, and Intro to Databases](https://www.hackerrank.com/challenges/30-regex-patterns/) | [Python](hackerrank/30-days-of-code/day-28.py) |
| 29 | Medium | [Bitwise AND](https://www.hackerrank.com/challenges/30-bitwise-and/) | [Python](hackerrank/30-days-of-code/day-29.py) |

---

## CTCI

Cracking the Coding Interview 6th Edition Python Solutions

| # | Difficulty | Problem | Solution |
| -- | ---------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| 1.1| | Is Unique | [Python](CTCI/Chapter1/1.1-Is_Unique.py) |
| 1.2| | Check Permutation | [Python](CTCI/Chapter1/1.2-Check_Permutation.py) |
| 1.3| | URLify | [Python](CTCI/Chapter1/1.3-URLify.py) |
| 1.4| | Palindrome Permutation | [Python](CTCI/Chapter1/1.4-Palindrome_Permutation.py) |
| 1.5| | One Away | [Python](CTCI/Chapter1/1.5-One_Away.py) |
| 1.6| | String Compression | [Python](CTCI/Chapter1/1.6-String_Compression.py) |
| 1.7| | Rotate Matrix | [Python](CTCI/Chapter1/1.7-Rotate_Matrix.py) |
| 1.8| | Zero Matrix | [Python](CTCI/Chapter1/1.8-Zero_Matrix.py) |
| 1.9| | String Rotation | [Python](CTCI/Chapter1/1.9-String_Rotation.py) |
| | | | |
| 2.1| | Remove Dups | [Python](CTCI/Chapter2/2.1-Remove_Dups.py) |
| 2.2| | Return Kth to Last | [Python](CTCI/Chapter2/2.2-Return_Kth_To_Last.py) |
| 2.3| | Delete Middle Node | [Python](CTCI/Chapter2/2.3-Delete_Middle_Node.py) |
| 2.4| | Partition | [Python](CTCI/Chapter2/2.4-Partition.py) |
| 2.5| | Sum Lists | [Python](CTCI/Chapter2/2.5-Sum_Lists.py) |
| 2.6| | Palindrome | [Python](CTCI/Chapter2/2.6-Palindrome.py) |
| 2.7| | Intersection | [Python](CTCI/Chapter2/2.7-Intersection.py) |
| 2.8| | Loop Detection | [Python](CTCI/Chapter2/2.8-Loop_Detection.py) |
| | | | |
| 3.1| | Three in One | [Python](CTCI/Chapter3/3.1-Three_In_One.py) |
| 3.2| | Stack Min | [Python](CTCI/Chapter3/3.2-Stack_Min.py) |
| 3.3| | Stack of Plates | [Python](CTCI/Chapter3/3.3-Stack_Of_Plates.py) |
| | | | |
| 4.1| | Route Between Nodes | [Python](CTCI/Chapter4/4.1-Route_Between_Nodes.py) |
| 4.2| | Minimal Tree | [Python](CTCI/Chapter4/4.2-Minimal_Tree.py) |
| 4.3| | List of Depths | [Python](CTCI/Chapter4/4.3-List_Of_Depths.py) |
| 4.4| | Check Balanced | [Python](CTCI/Chapter4/4.4-Check_Balanced.py) |
| 4.5| | Validate BST | [Python](CTCI/Chapter4/4.5-Validate_BST.py) |
| 4.6| | Successor | [Python](CTCI/Chapter4/4.6-Successor.py) |
| 4.7| | Build Order | [Python](CTCI/Chapter4/4.7-Build_Order.py) |
| 4.8| | First Common Ancestor | [Python](CTCI/Chapter4/4.8-First_Common_Ancestor.py) |
| 4.9| | BST Sequences | [Python](CTCI/Chapter4/4.9-BST_Sequences.py) |
|4.10| | Check Subtree | [Python](CTCI/Chapter4/4.10-Check_Subtree.py) |
|4.11| | Random Node | [Python](CTCI/Chapter4/4.11-Random_Node.py) |
|4.12| | Paths With Sum | [Python](CTCI/Chapter4/4.12-Paths_With_Sum.py) |
| | | | |
| 5.1| | Insertion | [Coming Soon](CTCI/Chapter5/5.1-Insertion.py) |
| | | | |
| 8.1| | Triple Step | [Python](CTCI/Chapter8/8.1-Triple_Step.py) |
| 8.2| | Robot in a Grid | [Python](CTCI/Chapter8/8.2-Robot_in_a_Grid.py) |
| 8.3| | Magic Index | [Python](CTCI/Chapter8/8.3-Magic_Index.py) |
| 8.4| | Power Set | [Python](CTCI/Chapter8/8.4-Power_Set.py) |
| 8.5| | Recursive Multiply | [Python](CTCI/Chapter8/8.5-Recursive_Multiply.py) |
| 8.6| | Towers of Hanoi | |
| 8.7| | Permutations Without Dups | [Python](CTCI/Chapter8/8.7-Permutations_Without_Dups.py) |
| 8.8| | Permutations With Dups | [Python](CTCI/Chapter8/8.8-Permutations_With_Dups.py) |
| | | | |
|17.1| | Add Without Plus | [Python](CTCI/Chapter17/17.1-Add_Without_Plus.py) |

---

## Google Foobar Challenge

| # | Level | Problem | Solution |
| -- | ---------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| 1 | 1 | [Solar Doomsday](Google_Foobar/Solar_Doomsday/problem.md) | [Java](Google_Foobar/Solar_Doomsday/answer.java) |
| 2 | 2 | [Gearing Up For Destruction](Google_Foobar/Gearing_Up_For_Destruction/problem.md) | [Python](Google_Foobar/Gearing_Up_For_Destruction/answer.py) |
| 3 | 2 | [Lovely Lucky Lambs](Google_Foobar/Lovely_Lucky_Lambs/problem.md) | [Python](Google_Foobar/Lovely_Lucky_Lambs/answer.py) |