Competitive-Programming
Competitive-Programming copied to clipboard
Collection of all competitive code snippets
What is it?
A collection of some programs under competetive programming competitions like Hackerrank, CodeChef, SpoJ and Leetcode etc.
Your code has poor documentation
This repository has working programs that were submitted during competitions as it is. As such they lack comments and proper documentation. However, you can use it as follows.
- Say, you want to look for sieve of eratosthenes's code snippet. Just search in the repo.
- If you want the implementation of the range min-max segment tree, just search segment-tree
- File names usually correspond to the problem title they refer to. So you can search by that.
- Solutions are grouped by languages.
Who is this for
- Budding programmers delving into the world of competitive programming wanting to see the code in action.
- Myself, to keep on solving problems at all stages of my life.
Questions by Companies
| # | Title | Acceptance | Difficulty | Finished |
|---|---|---|---|---|
| 1 | Two Sum | 45.50% | Easy | :white_check_mark: |
| 560 | Subarray Sum Equals K | 43.90% | Medium | :white_check_mark: |
| 68 | Text Justification | 27.50% | Hard | :white_check_mark: |
| 253 | Meeting Rooms II | 45.60% | Medium | |
| 76 | Minimum Window Substring | 34.40% | Hard | :white_check_mark: |
| 85 | Maximal Rectangle | 37.40% | Hard | |
| 221 | Maximal Square | 37.60% | Medium | |
| 127 | Word Ladder | 29.20% | Medium | :white_check_mark: |
| 295 | Find Median from Data Stream | 43.90% | Hard | :white_check_mark: |
| 394 | Decode String | 49.60% | Medium | |
| 362 | Design Hit Counter | 63.40% | Medium | |
| 528 | Random Pick with Weight | 43.90% | Medium | |
| 843 | Guess the Word | 46.00% | Hard | |
| 1048 | Longest String Chain | 54.50% | Medium | |
| 329 | Longest Increasing Path in a Matrix | 43.20% | Hard | :white_check_mark: |
| 315 | Count of Smaller Numbers After Self | 41.40% | Hard | |
| 642 | Design Search Autocomplete System | 44.40% | Hard | |
| 410 | Split Array Largest Sum | 44.40% | Hard | |
| 359 | Logger Rate Limiter | 70.30% | Easy | :white_check_mark: |
| 593 | Valid Square | 42.90% | Medium | |
| 946 | Validate Stack Sequences | 61.40% | Medium | |
| 1153 | String Transforms Into Another String | 35.90% | Hard | |
| 727 | Minimum Window Subsequence | 41.50% | Hard | :white_check_mark: |
| 399 | Evaluate Division | 51.30% | Medium | |
| 1110 | Delete Nodes And Return Forest | 66.70% | Medium | |
| 722 | Remove Comments | 34.30% | Medium | |
| 809 | Expressive Words | 47.20% | Medium | |
| 729 | My Calendar I | 51.50% | Medium | |
| 1031 | Maximum Sum of Two Non-Overlapping Subarrays | 57.70% | Medium | |
| 752 | Open the Lock | 51.50% | Medium | |
| 679 | 24 Game | 46.10% | Hard | |
| 489 | Robot Room Cleaner | 69.40% | Hard | |
| 1146 | Snapshot Array | 37.00% | Medium | |
| 862 | Shortest Subarray with Sum at Least K | 24.40% | Hard | |
| 846 | Hand of Straights | 53.90% | Medium | |
| 659 | Split Array into Consecutive Subsequences | 43.60% | Medium | |
| 346 | Moving Average from Data Stream | 70.70% | Easy | |
| 1438 | Longest Continuous Subarray With Abs Diff <= Limit | 42.60% | Medium | :white_check_mark: |
| 1088 | Confusing Number II | 43.50% | Hard | :white_check_mark: |
| 299 | Bulls and Cows | 42.30% | Easy | |
| 951 | Flip Equivalent Binary Trees | 65.70% | Medium | |
| 1376 | Time Needed to Inform All Employees | 55.20% | Medium | :white_check_mark: |
| 1231 | Divide Chocolate | 52.20% | Hard | |
| 1296 | Divide Array in Sets of K Consecutive Numbers | 53.20% | Medium | |
| 375 | Guess Number Higher or Lower II | 40.20% | Medium | :white_check_mark: |
| 1140 | Stone Game II | 62.80% | Medium | |
| 1423 | Maximum Points You Can Obtain from Cards | 41.30% | Medium | |
| 833 | Find And Replace in String | 50.30% | Medium | |
| 1345 | Jump Game IV | 37.40% | Hard | |
| 1463 | Cherry Pickup II | 64.50% | Hard |
Amazon
| # | Title | Acceptance | Difficulty | Finished |
|---|---|---|---|---|
| 1 | Two Sum | 45.50% | Easy | :white_check_mark: |
| 200 | Number of Islands | 46.50% | Medium | :white_check_mark: |
| 2 | Add Two Numbers | 33.70% | Medium | |
| 937 | Reorder Data in Log Files | 54.30% | Easy | |
| 42 | Trapping Rain Water | 48.50% | Hard | :white_check_mark: |
| 146 | LRU Cache | 32.80% | Medium | :white_check_mark: |
| 5 | Longest Palindromic Substring | 29.30% | Medium | :white_check_mark: |
| 23 | Merge k Sorted Lists | 39.90% | Hard | :white_check_mark: |
| 1192 | Critical Connections in a Network | 48.60% | Hard | |
| 21 | Merge Two Sorted Lists | 53.20% | Easy | |
| 994 | Rotting Oranges | 47.60% | Medium | |
| 56 | Merge Intervals | 39.10% | Medium | :white_check_mark: |
| 273 | Integer to English Words | 26.90% | Hard | :white_check_mark: |
| 121 | Best Time to Buy and Sell Stock | 50.30% | Easy | |
| 692 | Top K Frequent Words | 51.50% | Medium | |
| 269 | Alien Dictionary | 33.30% | Hard | |
| 973 | K Closest Points to Origin | 63.60% | Medium | |
| 139 | Word Break | 39.80% | Medium | |
| 253 | Meeting Rooms II | 45.60% | Medium | |
| 297 | Serialize and Deserialize Binary Tree | 47.10% | Hard | |
| 49 | Group Anagrams | 56.40% | Medium | :white_check_mark: |
| 763 | Partition Labels | 75.60% | Medium | |
| 127 | Word Ladder | 29.20% | Medium | :white_check_mark: |
| 138 | Copy List with Random Pointer | 35.80% | Medium | |
| 295 | Find Median from Data Stream | 43.90% | Hard | |
| 140 | Word Break II | 31.50% | Hard | |
| 227 | Basic Calculator II | 36.70% | Medium | :white_check_mark: |
| 79 | Word Search | 34.90% | Medium | |
| 588 | Design In-Memory File System | 45.30% | Hard | :white_check_mark: |
| 460 | LFU Cache | 33.90% | Hard | :white_check_mark: |
| 239 | Sliding Window Maximum | 42.80% | Hard | :white_check_mark: |
| 348 | Design Tic-Tac-Toe | 54.00% | Medium | |
| 472 | Concatenated Words | 43.30% | Hard | |
| 1152 | Analyze User Website Visit Pattern | 43.60% | Medium | |
| 819 | Most Common Word | 44.60% | Easy | |
| 211 | Add and Search Word - Data structure design | 36.60% | Medium | |
| 126 | Word Ladder II | 21.90% | Hard | |
| 240 | Search a 2D Matrix II | 43.10% | Medium | |
| 210 | Course Schedule II | 39.70% | Medium | :white_check_mark: |
| 642 | Design Search Autocomplete System | 44.40% | Hard | |
| 480 | Sliding Window Median | 37.00% | Hard | |
| 863 | All Nodes Distance K in Binary Tree | 55.00% | Medium | |
| 733 | Flood Fill | 55.10% | Easy | |
| 353 | Design Snake Game | 33.90% | Medium | |
| 694 | Number of Distinct Islands | 55.70% | Medium | |
| 909 | Snakes and Ladders | 38.30% | Medium | |
| 564 | Find the Closest Palindrome | 19.60% | Hard | |
| 1268 | Search Suggestions System | 63.30% | Medium | |
| 1167 | Minimum Cost to Connect Sticks | 62.60% | Medium | |
| 726 | Number of Atoms | 48.50% | Hard |
Microsoft
| # | Title | Acceptance | Difficulty | Finished |
|---|---|---|---|---|
| 1246 | Palindrome Removal | 45.90% | Hard | |
| 1239 | Maximum Length of a Concatenated String with Unique Characters | 47.60% | Medium | |
| 273 | Integer to English Words | 26.90% | Hard | :white_check_mark: |
| 428 | Serialize and Deserialize N-ary Tree | 59.00% | Hard | |
| 146 | LRU Cache | 32.80% | Medium | :white_check_mark: |
| 1156 | Swap For Longest Repeated Character Substring | 48.70% | Medium | |
| 54 | Spiral Matrix | 33.90% | Medium | |
| 212 | Word Search II | 34.50% | Hard | |
| 1236 | Web Crawler | 64.30% | Medium | |
| 828 | Count Unique Characters of All Substrings of a Given String | 44.80% | Hard | |
| 138 | Copy List with Random Pointer | 35.80% | Medium | |
| 545 | Boundary of Binary Tree | 38.90% | Medium | |
| 25 | Reverse Nodes in k-Group | 41.70% | Hard | |
| 348 | Design Tic-Tac-Toe | 54.00% | Medium | |
| 450 | Delete Node in a BST | 42.90% | Medium | |
| 124 | Binary Tree Maximum Path Sum | 34.10% | Hard | :white_check_mark: |
| 340 | Longest Substring with At Most K Distinct Characters | 43.90% | Hard | :white_check_mark: |
| 218 | The Skyline Problem | 34.40% | Hard | |
| 200 | Number of Islands | 46.50% | Medium | :white_check_mark: |
| 358 | Rearrange String k Distance Apart | 34.70% | Hard | |
| 1375 | Bulb Switcher III | 62.10% | Medium | |
| 99 | Recover Binary Search Tree | 39.30% | Hard | |
| 468 | Validate IP Address | 24.00% | Medium | |
| 116 | Populating Next Right Pointers in Each Node | 44.60% | Medium | |
| 41 | First Missing Positive | 31.80% | Hard | :white_check_mark: |
| 93 | Restore IP Addresses | 35.30% | Medium | |
| 23 | Merge k Sorted Lists | 39.90% | Hard | :white_check_mark: |
| 103 | Binary Tree Zigzag Level Order Traversal | 47.00% | Medium | |
| 232 | Implement Queue using Stacks | 49.10% | Easy | |
| 1 | Two Sum | 45.50% | Easy | |
| 79 | Word Search | 34.90% | Medium | |
| 1116 | Print Zero Even Odd | 55.70% | Medium | |
| 297 | Serialize and Deserialize Binary Tree | 47.10% | Hard | |
| 4 | Median of Two Sorted Arrays | 29.40% | Hard | :white_check_mark: |
| 134 | Gas Station | 38.20% | Medium | |
| 207 | Course Schedule | 42.80% | Medium | :white_check_mark: |
| 445 | Add Two Numbers II | 54.30% | Medium | |
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | 48.20% | Medium | |
| 42 | Trapping Rain Water | 48.50% | Hard | :white_check_mark: |
| 74 | Search a 2D Matrix | 36.40% | Medium | |
| 151 | Reverse Words in a String | 21.10% | Medium | |
| 102 | Binary Tree Level Order Traversal | 54.20% | Medium | |
| 10 | Regular Expression Matching | 26.70% | Hard | |
| 173 | Binary Search Tree Iterator | 56.10% | Medium | |
| 140 | Word Break II | 31.50% | Hard | |
| 443 | String Compression | 41.00% | Easy | |
| 8 | String to Integer (atoi) | 15.30% | Medium | |
| 148 | Sort List | 41.80% | Medium | :white_check_mark: |
| 630 | Course Schedule III | 33.30% | Hard | |
| 155 | Min Stack | 44.20% | Easy | |
| 621 | Task Scheduler | 48.60% | Medium | |
| 432 | All O`one Data Structure | 32.20% | Hard | |
| 285 | Inorder Successor in BST | 40.00% | Medium | :white_check_mark: |
| 240 | Search a 2D Matrix II | 43.10% | Medium | |
| 636 | Exclusive Time of Functions | 51.80% | Medium | :white_check_mark: |
| 510 | Inorder Successor in BST II | 57.90% | Medium | :white_check_mark: |
| 716 | Max Stack | 42.50% | Easy | |
| 179 | Largest Number | 28.50% | Medium | |
| 85 | Maximal Rectangle | 37.40% | Hard | |
| 295 | Find Median from Data Stream | 43.90% | Hard | |
| 46 | Permutations | 63.00% | Medium | |
| 133 | Clone Graph | 34.20% | Medium | |
| 89 | Gray Code | 48.90% | Medium | |
| 622 | Design Circular Queue | 43.50% | Medium | |
| 127 | Word Ladder | 29.20% | Medium | :white_check_mark: |
| 126 | Word Ladder II | 21.90% | Hard | |
| 37 | Sudoku Solver | 43.20% | Hard | |
| 253 | Meeting Rooms II | 45.60% | Medium | |
| 236 | Lowest Common Ancestor of a Binary Tree | 45.20% | Medium | :white_check_mark: |
| 346 | Moving Average from Data Stream | 70.70% | Easy | |
| 767 | Reorganize String | 48.30% | Medium | |
| 706 | Design HashMap | 60.90% | Easy | |
| 460 | LFU Cache | 33.90% | Hard | :white_check_mark: |
| 277 | Find the Celebrity | 41.60% | Medium | |
| 419 | Battleships in a Board | 69.80% | Medium | |
| 695 | Max Area of Island | 62.40% | Medium | |
| 48 | Rotate Image | 56.20% | Medium | |
| 722 | Remove Comments | 34.30% | Medium | |
| 380 | Insert Delete GetRandom O(1) | 47.40% | Medium | |
| 75 | Sort Colors | 47.10% | Medium | :white_check_mark: |
| 457 | Circular Array Loop | 29.20% | Medium | |
| 557 | Reverse Words in a String III | 69.50% | Easy | |
| 49 | Group Anagrams | 56.40% | Medium | :white_check_mark: |
| 98 | Validate Binary Search Tree | 27.70% | Medium | |
| 679 | 24 Game | 46.10% | Hard | |
| 1044 | Longest Duplicate Substring | 32.00% | Hard | |
| 950 | Reveal Cards In Increasing Order | 74.30% | Medium | |
| 128 | Longest Consecutive Sequence | 44.90% | Hard | |
| 56 | Merge Intervals | 39.10% | Medium | :white_check_mark: |
| 43 | Multiply Strings | 33.70% | Medium | |
| 681 | Next Closest Time | 44.90% | Medium | |
| 1229 | Meeting Scheduler | 52.30% | Medium | |
| 149 | Max Points on a Line | 16.90% | Hard | :white_check_mark: |
| 121 | Best Time to Buy and Sell Stock | 50.30% | Easy | |
| 21 | Merge Two Sorted Lists | 53.20% | Easy | |
| 17 | Letter Combinations of a Phone Number | 46.50% | Medium | :white_check_mark: |
| 24 | Swap Nodes in Pairs | 50.00% | Medium | |
| 33 | Search in Rotated Sorted Array | 34.50% | Medium | :white_check_mark: |
| 773 | Sliding Puzzle | 59.00% | Hard | |
| 129 | Sum Root to Leaf Numbers | 48.70% | Medium | |
| 238 | Product of Array Except Self | 59.90% | Medium | :white_check_mark: |
| 77 | Combinations | 54.30% | Medium | |
| 528 | Random Pick with Weight | 43.90% | Medium | |
| 53 | Maximum Subarray | 46.40% | Easy |
Why is it even here
I like to share and showcase all facets of my professional career. Competitive programming is something I extensively did during my college days and I still give it a try whenever time permits.
As such this is a subtle reminder of my capabilites. I'd encourage others to do the same. The check box is motivation enough :)