HackerRank
HackerRank copied to clipboard
Solutions to HackerRank problems
HackerRank
Solutions to HackerRank problems
- Algorithms
- Data Structures
- Python
- Linux Shell
- CPP
- C
- Interview Preparation Kit
Algorithms
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Warmup | Easy | Solve Me First | solve-me-first.py |
Warmup | Easy | Simple Array Sum | simple-array-sum.py |
Warmup | Easy | Compare the Triplets | compare-the-triplets.py |
Warmup | Easy | A Very Big Sum | a-very-big-sum.py |
Warmup | Easy | Diagonal Difference | diagonal-difference.py |
Warmup | Easy | Plus Minus | plus-minus.py |
Warmup | Easy | Staircase | staircase.py |
Warmup | Easy | Mini-Max Sum | mini-max-sum.py |
Warmup | Easy | Birthday Cake Candles | birthday-cake-candles.py |
Warmup | Easy | Time Conversion | time-conversion.py |
Implementation | Easy | Grading Students | grading.py |
Implementation | Easy | Apple and Orange | apple-and-orange.py |
Implementation | Easy | Kangaroo | kangaroo.py |
Implementation | Easy | Between Two Sets | between-two-sets.py |
Implementation | Easy | Breaking the Records | breaking-best-and-worst-records.py |
Implementation | Easy | Birthday Chocolate | the-birthday-bar.py |
Implementation | Easy | Divisible Sum Pairs | divisible-sum-pairs.py |
Implementation | Easy | Migratory Birds | migratory-birds.py |
Implementation | Easy | Day of the Programmer | day-of-the-programmer.py |
Implementation | Easy | Bon Appétit | bon-appetit.py |
Implementation | Easy | Sock Merchant | sock-merchant.py |
Implementation | Easy | Drawing Book | drawing-book.py |
Implementation | Easy | Counting Valleys | counting-valleys.py |
Implementation | Easy | Electronics Shop | electronics-shop.py |
Implementation | Easy | Cats and a Mouse | cats-and-a-mouse.py |
Implementation | Easy | Picking Numbers | picking-numbers.py |
Implementation | Easy | The Hurdle Race | the-hurdle-race.py |
Implementation | Easy | Designer PDF Viewer | designer-pdf-viewer.py |
Implementation | Easy | Utopian Tree | utopian-tree.py |
Implementation | Easy | Angry Professor | angry-professor.py |
Implementation | Easy | Beautiful Days at the Movies | beautiful-days-at-the-movies.py |
Implementation | Easy | Viral Advertising | strange-advertising.py |
Implementation | Easy | Save the Prisoner! | save-the-prisoner.py |
Implementation | Easy | Circular Array Rotation | circular-array-rotation.py |
Implementation | Easy | Sequence Equation | permutation-equation.py |
Implementation | Easy | Jumping on the Clouds: Revisited | jumping-on-the-clouds-revisited.py |
Implementation | Easy | Find Digits | find-digits.py |
Implementation | Easy | Append and Delete | append-and-delete.py |
Implementation | Easy | Sherlock and Squares | sherlock-and-squares.py |
Implementation | Easy | Library Fine | library-fine.py |
Implementation | Easy | Cut the sticks | cut-the-sticks.py |
Implementation | Easy | Repeated String | repeated-string.py |
Implementation | Easy | Jumping on the Clouds | jumping-on-the-clouds.py |
Implementation | Easy | Equalize the Array | equality-in-a-array.py |
Implementation | Easy | ACM ICPC Team | acm-icpc-team.py |
Implementation | Easy | Taum and B'day | taum-and-bday.py |
Implementation | Easy | Modified Kaprekar Numbers | kaprekar-numbers.py |
Implementation | Easy | Beautiful Triplets | beautiful-triplets.py |
Implementation | Easy | Minimum Distances | minimum-distances.py |
Implementation | Easy | Chocolate Feast | chocolate-feast.py |
Implementation | Easy | Service Lane | service-lane.py |
Implementation | Easy | Lisa's Workbook | lisa-workbook.py |
Implementation | Easy | Flatland Space Stations | flatland-space-stations.py |
Implementation | Easy | Fair Rations | fair-rations.py |
Implementation | Easy | Cavity Map | cavity-map.py |
Implementation | Easy | Manasa and Stones | manasa-and-stones.py |
Implementation | Easy | Happy Ladybugs | happy-ladybugs.py |
Implementation | Easy | Strange Counter | strange-code.py |
Implementation | Easy | Halloween Sale | halloween-sale.py |
Implementation | Medium | Forming a Magic Square | magic-square-forming.py |
Implementation | Medium | Climbing the Leaderboard | climbing-the-leaderboard.py |
Implementation | Medium | Extra Long Factorials | extra-long-factorials.py |
Implementation | Medium | Non-Divisible Subset | non-divisible-subset.py |
Implementation | Medium | Queen's Attack II | queens-attack-2.py |
Implementation | Medium | Encryption | encryption.py |
Implementation | Medium | Bigger is Greater | bigger-is-greater.py |
Implementation | Medium | The Time in Words | the-time-in-words.py |
Implementation | Medium | The Grid Search | the-grid-search.py |
Implementation | Medium | 3D Surface Area | 3d-surface-area.py |
Implementation | Medium | Absolute Permutation | absolute-permutation.py |
Implementation | Medium | Ema's Supercomputer | two-pluses.py |
Implementation | Medium | Larry's Array | larrys-array.py |
Implementation | Medium | Almost Sorted | almost-sorted.py |
Sorting | Easy | Big Sorting | big-sorting.py |
Strings | Easy | Super Reduced String | reduced-string.py |
Strings | Easy | CamelCase | camelcase.py |
Strings | Easy | Two Characters | two-characters.py |
Strings | Easy | Caesar Cipher | caesar-cipher-1.py |
Strings | Easy | Mars Exploration | mars-exploration.py |
Strings | Easy | HackerRank in a String! | hackerrank-in-a-string.py |
Strings | Easy | Pangrams | pangrams.py |
Strings | Easy | Weighted Uniform Strings | weighted-uniform-string.py |
Strings | Easy | Separate the Numbers | separate-the-numbers.py |
Strings | Easy | Funny String | funny-string.py |
Strings | Easy | Gemstones | gem-stones.py |
Strings | Easy | Alternating Characters | alternating-characters.py |
Strings | Easy | Beautiful Binary String | beautiful-binary-string.py |
Strings | Easy | The Love-Letter Mystery | the-love-letter-mystery.py |
Strings | Easy | Palindrome Index | palindrome-index.py |
Strings | Easy | Anagram | anagram.py |
Strings | Easy | Making Anagrams | making-anagrams.py |
Strings | Easy | Game of Thrones - I | game-of-thrones.py |
Strings | Easy | Two Strings | two-strings.py |
Strings | Easy | String Construction | string-construction.py |
Strings | Easy | Strong Password | strong-password.py |
Strings | Medium | Sherlock and Anagrams | sherlock-and-anagrams.py |
Strings | Medium | Sherlock and the Valid String | sherlock-and-valid-string.py |
Strings | Medium | Common Child | common-child.py |
Sorting | Easy | Intro to Tutorial Challenges | tutorial-intro.py |
Sorting | Easy | Insertion Sort - Part 1 | insertionsort1.py |
Sorting | Easy | Insertion Sort - Part 2 | insertionsort2.py |
Sorting | Easy | Correctness and the Loop Invariant | correctness-invariant.py |
Sorting | Easy | Running Time of Algorithms | runningtime.py |
Sorting | Easy | Quicksort 1 - Partition | quicksort1.py |
Sorting | Easy | Counting Sort 1 | countingsort1.py |
Sorting | Easy | Counting Sort 2 | countingsort2.py |
Sorting | Easy | Closest Numbers | closest-numbers.py |
Sorting | Easy | Find the Median | find-the-median.py |
Sorting | Medium | The Full Counting Sort | countingsort4.py |
Search | Easy | Ice Cream Parlor | icecream-parlor.py |
Search | Easy | Missing Numbers | missing-numbers.py |
Search | Easy | Sherlock and Array | sherlock-and-array.py |
Search | Medium | KnightL on a Chessboard | knightl-on-chessboard.py |
Search | Medium | Connected Cells in a Grid | connected-cell-in-a-grid.py |
Search | Medium | Pairs | pairs.py |
Graph Theory | Hard | Dijkstra: Shortest Reach 2 | dijkstrashortreach.py |
Greedy | Easy | Minimum Absolute Difference in an Array | minimum-absolute-difference-in-an-array.py |
Greedy | Easy | Marc's Cakewalk | marcs-cakewalk.py |
Greedy | Easy | Grid Challenge | grid-challenge.py |
Greedy | Easy | Luck Balance | luck-balance.py |
Greedy | Easy | Maximum Perimeter Triangle | maximum-perimeter-triangle.py |
Greedy | Easy | Beautiful Pairs | beautiful-pairs.py |
Greedy | Easy | Sherlock and The Beast | sherlock-and-the-beast.py |
Greedy | Easy | Priyanka and Toys | priyanka-and-toys.py |
Greedy | Easy | Largest Permutation | largest-permutation.py |
Greedy | Easy | Mark and Toys | mark-and-toys.py |
Greedy | Easy | Jim and the Orders | jim-and-the-orders.py |
Greedy | Easy | Permuting Two Arrays | two-arrays.py |
Greedy | Medium | Max Min | angry-children.py |
Dynamic Programming | Medium | The Coin Change Problem | coin-change.py |
Dynamic Programming | Medium | Equal | equal.py |
Bit Manipulation | Easy | Lonely Integer | lonely-integer.py |
Bit Manipulation | Easy | Maximizing XOR | maximizing-xor.py |
Bit Manipulation | Easy | Sum vs XOR | sum-vs-xor.py |
Bit Manipulation | Easy | Flipping bits | flipping-bits.py |
Bit Manipulation | Medium | Counter game | counter-game.py |
Bit Manipulation | Medium | Xor-sequence | xor-se.py |
Bit Manipulation | Medium | The Great XOR | the-great-xor.py |
Bit Manipulation | Medium | Yet Another Minimax Problem | yet-another-minimax-problem.py |
Bit Manipulation | Medium | Sansa and XOR | sansa-and-xor.py |
Bit Manipulation | Medium | AND Product | and-product.py |
Bit Manipulation | Medium | Cipher | cipher.py |
Recursion | Medium | The Power Sum | the-power-sum.py |
Recursion | Medium | Recursive Digit Sum | recursive-digit-sum.py |
Recursion | Medium | Password Cracker | password-cracker.py |
Recursion | Hard | K Factorization | k-factorization.py |
Recursion | Advanced | Repetitive K-Sums | repeat-k-sums.py |
Game Theory | Easy | Game of Stones | game-of-stones-1.py |
Game Theory | Easy | Tower Breakers | tower-breakers-1.py |
Game Theory | Easy | A Chessboard Game | a-chessboard-game-1.py |
Game Theory | Easy | Introduction to Nim Game | nim-game-1.py |
Game Theory | Easy | Misère Nim | misere-nim-1.py |
Game Theory | Easy | Poker Nim | poker-nim-1.py |
Game Theory | Easy | Nimble Game | nimble-game-1.py |
Data Structures
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Arrays | Easy | Arrays - DS | arrays-ds.py |
Arrays | Easy | 2D Array - DS | 2d-array.py |
Arrays | Easy | Dynamic Array | dynamic-array.py |
Arrays | Easy | Left Rotation | array-left-rotation.py |
Arrays | Medium | Sparse Arrays | sparse-arrays.py |
Arrays | Hard | Array Manipulation | crush.py |
Linked Lists | Easy | Print the Elements of a Linked List | print-the-elements-of-a-linked-list.py |
Linked Lists | Easy | Insert a Node at the Tail of a Linked List | insert-a-node-at-the-tail-of-a-linked-list.py |
Linked Lists | Easy | Insert a node at the head of a linked list | insert-a-node-at-the-head-of-a-linked-list.py |
Linked Lists | Easy | Insert a node at a specific position in a linked list | insert-a-node-at-a-specific-position-in-a-linked-list.py |
Linked Lists | Easy | Delete a Node | delete-a-node-from-a-linked-list.py |
Linked Lists | Easy | Print in Reverse | print-the-elements-of-a-linked-list-in-reverse.py |
Linked Lists | Easy | Reverse a linked list | reverse-a-linked-list.py |
Linked Lists | Easy | Compare two linked lists | compare-two-linked-lists.py |
Linked Lists | Easy | Merge two sorted linked lists | merge-two-sorted-linked-lists.py |
Linked Lists | Easy | Get Node Value | get-the-value-of-the-node-at-a-specific-position-from-the-tail.py |
Linked Lists | Easy | Delete duplicate-value nodes from a sorted linked list | delete-duplicate-value-nodes-from-a-sorted-linked-list.py |
Linked Lists | Easy | Find Merge Point of Two Lists | find-the-merge-point-of-two-joined-linked-lists.py |
Linked Lists | Easy | Inserting a Node Into a Sorted Doubly Linked List | insert-a-node-into-a-sorted-doubly-linked-list.py |
Linked Lists | Easy | Reverse a doubly linked list | reverse-a-doubly-linked-list.py |
Linked Lists | Medium | Cycle Detection | detect-whether-a-linked-list-contains-a-cycle.py |
Trees | Easy | Tree: Preorder Traversal | tree-preorder-traversal.py |
Trees | Easy | Tree: Postorder Traversal | tree-postorder-traversal.py |
Trees | Easy | Tree: Inorder Traversal | tree-inorder-traversal.py |
Trees | Easy | Tree: Height of a Binary Tree | tree-height-of-a-binary-tree.py |
Trees | Easy | Tree : Top View | tree-top-view.py |
Trees | Easy | Tree: Level Order Traversal | tree-level-order-traversal.py |
Trees | Easy | Binary Search Tree : Insertion | binary-search-tree-insertion.py |
Trees | Easy | Binary Search Tree : Lowest Common Ancestor | binary-search-tree-lowest-common-ancestor.py |
Trees | Medium | Tree: Huffman Decoding | tree-huffman-decoding.py |
Trees | Medium | Swap Nodes [Algo] | swap-nodes-algo.py |
Trees | Medium | Is This a Binary Search Tree? | is-binary-search-tree.py |
Balanced Trees | Medium | Self Balancing Tree | self-balancing-tree.c |
Balanced Trees | Hard | Median Updates | median.py |
Stacks | Easy | Maximum Element | maximum-element.py |
Stacks | Easy | Equal Stacks | equal-stacks.py |
Stacks | Medium | Balanced Brackets | balanced-brackets.py |
Stacks | Medium | Game of Two Stacks | game-of-two-stacks.py |
Stacks | Medium | Largest Rectangle | largest-rectangle.py |
Stacks | Medium | Simple Text Editor | simple-text-editor.py |
Stacks | Medium | Waiter | waiter.py |
Stacks | Hard | Poisonous Plants | poisonous-plants.py |
Stacks | Hard | AND xor OR | and-xor-or.py |
Queues | Medium | Queue using Two Stacks | queue-using-two-stacks.py |
Queues | Medium | Castle on the Grid | castle-on-the-grid.py |
Queues | Medium | Down to Zero II | down-to-zero-ii.py |
Queues | Hard | Truck Tour | truck-tour.py |
Queues | Hard | Queries with Fixed Length | queries-with-fixed-length.py |
Heap | Easy | QHEAP1 | qheap1.py |
Heap | Easy | Jesse and Cookies | jesse-and-cookies.py |
Heap | Hard | Find the Running Median | find-the-running-median.py |
Heap | Hard | Minimum Average Waiting Time | minimum-average-waiting-time.py |
Disjoint Set | Medium | Components in a graph | components-in-graph.py |
Disjoint Set | Hard | Merging Communities | merging-communities.py |
Disjoint Set | Hard | Super Maximum Cost Queries | maximum-cost-queries.py |
Multiple Choice | Hard | Data Structures MCQ 1 | how-well-do-you-know-trees.py |
Multiple Choice | Hard | Data Structures MCQ 2 | are-you-an-expert-on-data-structures.py |
Multiple Choice | Hard | Data Structures MCQ 3 | are-you-an-expert-on-data-structures-1.py |
Trie | Medium | Contacts | contacts.py |
Trie | Hard | No Prefix Set | no-prefix-set.py |
Advanced | Medium | Mr. X and His Shots | x-and-his-shots.py |
Advanced | Medium | Jim and the Skyscrapers | jim-and-the-skyscrapers.py |
Advanced | Medium | Find Maximum Index Product | find-maximum-index-product.py |
Python
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Introduction | Easy | Say "Hello, World!" With Python | py-hello-world.py |
Introduction | Easy | Python If-Else | py-if-else.py |
Introduction | Easy | Arithmetic Operators | python-arithmetic-operators.py |
Introduction | Easy | Python: Division | python-division.py |
Introduction | Easy | Loops | python-loops.py |
Introduction | Easy | Print Function | python-print.py |
Introduction | Medium | Write a function | write-a-function.py |
Basic Data Types | Easy | List Comprehensions | list-comprehensions.py |
Basic Data Types | Easy | Find the Runner-Up Score! | find-second-maximum-number-in-a-list.py |
Basic Data Types | Easy | Nested Lists | nested-list.py |
Basic Data Types | Easy | Finding the percentage | finding-the-percentage.py |
Basic Data Types | Easy | Lists | python-lists.py |
Basic Data Types | Easy | Tuples | python-tuples.py |
Strings | Easy | sWAP cASE | swap-case.py |
Strings | Easy | String Split and Join | python-string-split-and-join.py |
Strings | Easy | What's Your Name? | whats-your-name.py |
Strings | Easy | Mutations | python-mutations.py |
Strings | Easy | Find a string | find-a-string.py |
Strings | Easy | String Validators | string-validators.py |
Strings | Easy | Text Alignment | text-alignment.py |
Strings | Easy | Text Wrap | text-wrap.py |
Strings | Easy | Designer Door Mat | designer-door-mat.py |
Strings | Easy | String Formatting | python-string-formatting.py |
Strings | Easy | Alphabet Rangoli | alphabet-rangoli.py |
Strings | Easy | Capitalize! | capitalize.py |
Strings | Medium | The Minion Game | the-minion-game.py |
Strings | Medium | Merge the Tools! | merge-the-tools.py |
Sets | Easy | Introduction to Sets | py-introduction-to-sets.py |
Sets | Easy | Symmetric Difference | symmetric-difference.py |
Sets | Easy | Set .add() | py-set-add.py |
Sets | Easy | Set .discard(), .remove() & .pop() | py-set-discard-remove-pop.py |
Sets | Easy | Set .union() Operation | py-set-union.py |
Sets | Easy | Set .intersection() Operation | py-set-intersection-operation.py |
Sets | Easy | Set .difference() Operation | py-set-difference-operation.py |
Sets | Easy | Set .symmetric_difference() Operation | py-set-symmetric-difference-operation.py |
Sets | Easy | Set Mutations | py-set-mutations.py |
Sets | Easy | The Captain's Room | py-the-captains-room.py |
Sets | Easy | Check Subset | py-check-subset.py |
Sets | Easy | Check Strict Superset | py-check-strict-superset.py |
Sets | Medium | No Idea! | no-idea.py |
Math | Easy | Polar Coordinates | polar-coordinates.py |
Math | Easy | Mod Divmod | python-mod-divmod.py |
Math | Easy | Power - Mod Power | python-power-mod-power.py |
Math | Easy | Integers Come In All Sizes | python-integers-come-in-all-sizes.py |
Math | Medium | Find Angle MBC | find-angle.py |
Math | Medium | Triangle Quest 2 | triangle-quest-2.py |
Math | Medium | Triangle Quest | python-quest-1.py |
Itertools | Easy | itertools.product() | itertools-product.py |
Itertools | Easy | itertools.permutations() | itertools-permutations.py |
Itertools | Easy | itertools.combinations() | itertools-combinations.py |
Itertools | Easy | itertools.combinations_with_replacement() | itertools-combinations-with-replacement.py |
Itertools | Medium | Compress the String! | compress-the-string.py |
Itertools | Medium | Iterables and Iterators | iterables-and-iterators.py |
Itertools | Hard | Maximize It! | maximize-it.py |
Collections | Easy | collections.Counter() | collections-counter.py |
Collections | Easy | DefaultDict Tutorial | defaultdict-tutorial.py |
Collections | Easy | Collections.namedtuple() | py-collections-namedtuple.py |
Collections | Easy | Collections.OrderedDict() | py-collections-ordereddict.py |
Collections | Easy | Collections.deque() | py-collections-deque.py |
Collections | Medium | Word Order | word-order.py |
Collections | Medium | Company Logo | most-commons.py |
Collections | Medium | Piling Up! | piling-up.py |
Date and Time | Easy | Calendar Module | calendar-module.py |
Date and Time | Medium | Time Delta | python-time-delta.py |
Errors and Exceptions | Easy | Exceptions | exceptions.py |
Errors and Exceptions | Easy | Incorrect Regex | incorrect-regex.py |
Classes | Easy | Class 2 - Find the Torsional Angle | class-2-find-the-torsional-angle.py |
Classes | Medium | Classes: Dealing with Complex Numbers | class-1-dealing-with-complex-numbers.py |
Built-Ins | Easy | Zipped! | zipped.py |
Built-Ins | Easy | Input() | input.py |
Built-Ins | Easy | Python Evaluation | python-eval.py |
Built-Ins | Easy | Any or All | any-or-all.py |
Built-Ins | Medium | Athlete Sort | python-sort-sort.py |
Built-Ins | Medium | ginortS | ginorts.py |
Python Functionals | Easy | Map and Lambda Function | map-and-lambda-expression.py |
Python Functionals | Medium | Validating Email Addresses With a Filter | validate-list-of-email-address-with-filter.py |
Python Functionals | Medium | Reduce Function | reduce-function.py |
Regex and Parsing | Easy | Detect Floating Point Number | introduction-to-regex.py |
Regex and Parsing | Easy | Re.split() | re-split.py |
Regex and Parsing | Easy | Group(), Groups() & Groupdict() | re-group-groups.py |
Regex and Parsing | Easy | Re.findall() & Re.finditer() | re-findall-re-finditer.py |
Regex and Parsing | Easy | Re.start() & Re.end() | re-start-re-end.py |
Regex and Parsing | Easy | Validating Roman Numerals | validate-a-roman-number.py |
Regex and Parsing | Easy | Validating phone numbers | validating-the-phone-number.py |
Regex and Parsing | Easy | Validating and Parsing Email Addresses | validating-named-email-addresses.py |
Regex and Parsing | Easy | Hex Color Code | hex-color-code.py |
Regex and Parsing | Easy | HTML Parser - Part 1 | html-parser-part-1.py |
Regex and Parsing | Easy | HTML Parser - Part 2 | html-parser-part-2.py |
Regex and Parsing | Easy | Detect HTML Tags, Attributes and Attribute Values | detect-html-tags-attributes-and-attribute-values.py |
Regex and Parsing | Easy | Validating UID | validating-uid.py |
Regex and Parsing | Medium | Regex Substitution | re-sub-regex-substitution.py |
Regex and Parsing | Medium | Validating Credit Card Numbers | validating-credit-card-number.py |
Regex and Parsing | Hard | Validating Postal Codes | validating-postalcode.py |
Regex and Parsing | Hard | Matrix Script | matrix-script.py |
XML | Easy | XML 1 - Find the Score | xml-1-find-the-score.py |
XML | Easy | XML2 - Find the Maximum Depth | xml2-find-the-maximum-depth.py |
Closures and Decorators | Easy | Standardize Mobile Number Using Decorators | standardize-mobile-number-using-decorators.py |
Closures and Decorators | Easy | Decorators 2 - Name Directory | decorators-2-name-directory.py |
Numpy | Easy | Arrays | np-arrays.py |
Numpy | Easy | Shape and Reshape | np-shape-reshape.py |
Numpy | Easy | Transpose and Flatten | np-transpose-and-flatten.py |
Numpy | Easy | Concatenate | np-concatenate.py |
Numpy | Easy | Zeros and Ones | np-zeros-and-ones.py |
Numpy | Easy | Eye and Identity | np-eye-and-identity.py |
Numpy | Easy | Array Mathematics | np-array-mathematics.py |
Numpy | Easy | Floor, Ceil and Rint | floor-ceil-and-rint.py |
Numpy | Easy | Sum and Prod | np-sum-and-prod.py |
Numpy | Easy | Min and Max | np-min-and-max.py |
Numpy | Easy | Mean, Var, and Std | np-mean-var-and-std.py |
Numpy | Easy | Dot and Cross | np-dot-and-cross.py |
Numpy | Easy | Inner and Outer | np-inner-and-outer.py |
Numpy | Easy | Polynomials | np-polynomials.py |
Numpy | Easy | Linear Algebra | np-linear-algebra.py |
Debugging | Medium | Words Score | words-score.py |
Debugging | Medium | Default Arguments | default-arguments.py |
Linux Shell
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Bash | Easy | Let's Echo | bash-tutorials-lets-echo.sh |
Bash | Easy | Looping and Skipping | bash-tutorials---looping-and-skipping.sh |
Bash | Easy | A Personalized Echo | bash-tutorials---a-personalized-echo.sh |
Bash | Easy | Looping with Numbers | bash-tutorials---looping-with-numbers.sh |
Bash | Easy | The World of Numbers | bash-tutorials---the-world-of-numbers.sh |
Bash | Easy | Comparing Numbers | bash-tutorials---comparing-numbers.sh |
Bash | Easy | Getting started with conditionals | bash-tutorials---getting-started-with-conditionals.sh |
Bash | Easy | More on Conditionals | bash-tutorials---more-on-conditionals.sh |
Bash | Medium | Arithmetic Operations | bash-tutorials---arithmetic-operations.sh |
Bash | Medium | Compute the Average | bash-tutorials---compute-the-average.sh |
Bash | Hard | Functions and Fractals - Recursive Trees - Bash! | fractal-trees-all.sh |
Text Processing | Easy | Cut #1 | text-processing-cut-1.sh |
Text Processing | Easy | Cut #2 | text-processing-cut-2.sh |
Text Processing | Easy | Cut #3 | text-processing-cut-3.sh |
Text Processing | Easy | Cut #4 | text-processing-cut-4.sh |
Text Processing | Easy | Cut #5 | text-processing-cut-5.sh |
Text Processing | Easy | Cut #6 | text-processing-cut-6.sh |
Text Processing | Easy | Cut #7 | text-processing-cut-7.sh |
Text Processing | Easy | Cut #8 | text-processing-cut-8.sh |
Text Processing | Easy | Cut #9 | text-processing-cut-9.sh |
Text Processing | Easy | Head of a Text File #1 | text-processing-head-1.sh |
Text Processing | Easy | Head of a Text File #2 | text-processing-head-2.sh |
Text Processing | Easy | Middle of a Text File | text-processing-in-linux---the-middle-of-a-text-file.sh |
Text Processing | Easy | Tail of a Text File #1 | text-processing-tail-1.sh |
Text Processing | Easy | Tail of a Text File #2 | text-processing-tail-2.sh |
Text Processing | Easy | 'Tr' Command #1 | text-processing-tr-1.sh |
Text Processing | Easy | 'Tr' Command #2 | text-processing-tr-2.sh |
Text Processing | Easy | 'Tr' Command #3 | text-processing-tr-3.sh |
Text Processing | Easy | Sort Command #1 | text-processing-sort-1.sh |
Text Processing | Easy | Sort Command #2 | text-processing-sort-2.sh |
Text Processing | Easy | Sort Command #3 | text-processing-sort-3.sh |
Text Processing | Easy | Sort Command #4 | text-processing-sort-4.sh |
Text Processing | Easy | Sort Command #5 | text-processing-sort-5.sh |
Text Processing | Easy | 'Sort' command #6 | text-processing-sort-6.sh |
Text Processing | Easy | 'Sort' command #7 | text-processing-sort-7.sh |
Text Processing | Easy | 'Uniq' Command #1 | text-processing-in-linux-the-uniq-command-1.sh |
Text Processing | Easy | 'Uniq' Command #2 | text-processing-in-linux-the-uniq-command-2.sh |
Text Processing | Easy | 'Uniq' Command #3 | text-processing-in-linux-the-uniq-command-3.sh |
Text Processing | Easy | 'Uniq' Command #4 | text-processing-in-linux-the-uniq-command-4.sh |
Text Processing | Medium | Paste - 3 | paste-3.sh |
Text Processing | Medium | Paste - 4 | paste-4.sh |
Text Processing | Medium | Paste - 1 | paste-1.sh |
Text Processing | Medium | Paste - 2 | paste-2.sh |
Arrays in Bash | Easy | Read in an Array | bash-tutorials-read-in-an-array.sh |
Arrays in Bash | Easy | Slice an Array | bash-tutorials-slice-an-array.sh |
Arrays in Bash | Easy | Concatenate an array with itself | bash-tutorials-concatenate-an-array-with-itself.sh |
Arrays in Bash | Easy | Display an element of an array | bash-tutorials-display-the-third-element-of-an-array.sh |
Arrays in Bash | Easy | Count the number of elements in an Array | bash-tutorials-count-the-number-of-elements-in-an-array.sh |
Arrays in Bash | Medium | Filter an Array with Patterns | bash-tutorials-filter-an-array-with-patterns.sh |
Arrays in Bash | Medium | Remove the First Capital Letter from Each Element | bash-tutorials-remove-the-first-capital-letter-from-each-array-element.sh |
Arrays in Bash | Hard | Lonely Integer - Bash! | lonely-integer-2.sh |
Grep Sed Awk | Easy | 'Grep' - A | text-processing-in-linux-the-grep-command-4.sh |
Grep Sed Awk | Easy | 'Grep' - B | text-processing-in-linux-the-grep-command-5.sh |
Grep Sed Awk | Easy | 'Sed' command #3 | text-processing-in-linux-the-sed-command-3.sh |
Grep Sed Awk | Hard | 'Sed' command #4 | sed-command-4.sh |
Grep Sed Awk | Hard | 'Sed' command #5 | sed-command-5.sh |
Grep Sed Awk | Medium | 'Awk' - 1 | awk-1.sh |
Grep Sed Awk | Medium | 'Awk' - 2 | awk-2.sh |
Grep Sed Awk | Medium | 'Awk' - 3 | awk-3.sh |
Grep Sed Awk | Medium | 'Awk' - 4 | awk-4.sh |
Grep Sed Awk | Medium | 'Grep' #1 | text-processing-in-linux-the-grep-command-1.sh |
Grep Sed Awk | Medium | 'Grep' #2 | text-processing-in-linux-the-grep-command-2.sh |
Grep Sed Awk | Medium | 'Grep' #3 | text-processing-in-linux-the-grep-command-3.sh |
Grep Sed Awk | Medium | 'Sed' command #1 | text-processing-in-linux-the-sed-command-1.sh |
Grep Sed Awk | Medium | 'Sed' command #2 | text-processing-in-linux-the-sed-command-2.sh |
CPP
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Introduction | Easy | Say "Hello, World!" With C++ | cpp-hello-world.cpp |
Introduction | Easy | Input and Output | cpp-input-and-output.cpp |
Introduction | Easy | Basic Data Types | c-tutorial-basic-data-types.cpp |
Introduction | Easy | Conditional Statements | c-tutorial-conditional-if-else.cpp |
Introduction | Easy | For Loop | c-tutorial-for-loop.cpp |
Introduction | Easy | Functions | c-tutorial-functions.cpp |
Introduction | Easy | Pointer | c-tutorial-pointer.cpp |
Introduction | Easy | Arrays Introduction | arrays-introduction.cpp |
Introduction | Easy | Variable Sized Arrays | variable-sized-arrays.cpp |
Strings | Easy | StringStream | c-tutorial-stringstream.cpp |
Strings | Easy | Strings | c-tutorial-strings.cpp |
Classes | Easy | Structs | c-tutorial-struct.cpp |
Classes | Easy | Class | c-tutorial-class.cpp |
Classes | Easy | Classes and Objects | classes-objects.cpp |
Classes | Easy | Box It! | box-it.cpp |
Classes | Medium | Inherited Code | inherited-code.cpp |
Classes | Medium | Exceptional Server | exceptional-server.cpp |
Classes | Medium | Virtual Functions | virtual-functions.cpp |
STL | Easy | Vector-Sort | vector-sort.cpp |
STL | Easy | Vector-Erase | vector-erase.cpp |
STL | Easy | Lower Bound-STL | cpp-lower-bound.cpp |
STL | Easy | Sets-STL | cpp-sets.cpp |
STL | Easy | Maps-STL | cpp-maps.cpp |
STL | Easy | Print Pretty | prettyprint.cpp |
STL | Medium | Deque-STL | deque-stl.cpp |
C
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Introduction | Easy | "Hello World!" in C | hello-world-c.c |
Introduction | Easy | Playing With Characters | playing-with-characters.c |
Introduction | Easy | Sum and Difference of Two Numbers | sum-numbers-c.c |
Introduction | Easy | Functions in C | functions-in-c.c |
Introduction | Easy | Pointers in C | pointer-in-c.c |
Conditionals and Loops | Easy | Conditional Statements in C | conditional-statements-in-c.c |
Conditionals and Loops | Easy | For Loop in C | for-loop-in-c.c |
Conditionals and Loops | Easy | Sum of Digits of a Five Digit Number | sum-of-digits-of-a-five-digit-number.c |
Conditionals and Loops | Easy | Bitwise Operators | bitwise-operators-in-c.c |
Conditionals and Loops | Medium | Printing Pattern using Loops | printing-pattern-2.c |
Arrays and Strings | Medium | 1D Arrays in C | 1d-arrays-in-c.c |
Arrays and Strings | Medium | Array Reversal | reverse-array-c.c |
Arrays and Strings | Medium | Printing Tokens | printing-tokens-.c |
Arrays and Strings | Medium | Digit Frequency | frequency-of-digits-1.c |
Arrays and Strings | Medium | Dynamic Array in C | dynamic-array-in-c.c |
Functions | Easy | Calculate the Nth term | recursion-in-c.c |
Functions | Easy | Students Marks Sum | students-marks-sum.c |
Functions | Medium | Permutations of Strings | permutations-of-strings.c |
Functions | Medium | Variadic functions in C | variadic-functions-in-c.c |
Functions | Hard | Sorting Array of Strings | sorting-array-of-strings.c |
Structs and Enums | Easy | Boxes through a Tunnel | too-high-boxes.c |
Structs and Enums | Medium | Small Triangles, Large Triangles | small-triangles-large-triangles.c |
Structs and Enums | Hard | Post Transition | post-transition.c |
Interview Preparation Kit
Subdomain | Difficulty | Challenge | Solution |
---|---|---|---|
Warmup | Easy | Counting Valleys | counting-valleys.py |
Warmup | Easy | Jumping on the Clouds | jumping-on-the-clouds.py |
Warmup | Easy | Repeated String | repeated-string.py |
Warmup | Easy | Sock Merchant | sock-merchant.py |
Arrays | Easy | 2D Array - DS | 2d-array.py |
Arrays | Easy | Arrays: Left Rotation | ctci-array-left-rotation.py |
Arrays | Medium | Minimum Swaps 2 | minimum-swaps-2.py |
Arrays | Medium | New Year Chaos | new-year-chaos.py |
Arrays | Hard | Array Manipulation | crush.py |
Dictionaries and Hashmaps | Easy | Hash Tables: Ransom Note | ctci-ransom-note.py |
Dictionaries and Hashmaps | Easy | Two Strings | two-strings.py |
Dictionaries and Hashmaps | Medium | Count Triplets | count-triplets-1.py |
Dictionaries and Hashmaps | Medium | Frequency Queries | frequency-queries.py |
Dictionaries and Hashmaps | Medium | Sherlock and Anagrams | sherlock-and-anagrams.py |
Graphs | Hard | BFS: Shortest Reach in a Graph | ctci-bfs-shortest-reach.py |
Graphs | Hard | DFS: Connected Cell in a Grid | ctci-connected-cell-in-a-grid.py |
Greedy Algorithms | Easy | Luck Balance | luck-balance.py |
Greedy Algorithms | Easy | Minimum Absolute Difference in an Array | minimum-absolute-difference-in-an-array.py |
Greedy Algorithms | Medium | Greedy Florist | greedy-florist.py |
Greedy Algorithms | Medium | Max Min | angry-children.py |
linked Lists | Easy | Find Merge Point of Two Lists | find-the-merge-point-of-two-joined-linked-lists.py |
Linked Lists | Easy | Insert a node at a specific position in a linked list | insert-a-node-at-a-specific-position-in-a-linked-list.py |
Linked Lists | Easy | Inserting a Node Into a Sorted Doubly Linked List | insert-a-node-into-a-sorted-doubly-linked-list.py |
Linked Lists | Easy | Linked Lists: Detect a Cycle | ctci-linked-list-cycle.py |
Linked Lists | Easy | Reverse a doubly linked list | reverse-a-doubly-linked-list.py |
Miscellaneous | Easy | Flipping bits | flipping-bits.py |
Miscellaneous | Medium | Time Complexity: Primality | ctci-big-o.py |
Recursion and Backtracking | Easy | Recursion: Fibonacci Numbers | ctci-fibonacci-numbers.py |
Recursion and Backtracking | Medium | Recursion: Davis' Staircase | ctci-recursive-staircase.py |
Recursion and Backtracking | Medium | Recursive Digit Sum | recursive-digit-sum.py |
Search | Medium | Hash Tables: Ice Cream Parlor | ctci-ice-cream-parlor.py |
Search | Medium | Swap Nodes [Algo] | swap-nodes-algo.py |
Search | Medium | Pairs | pairs.py |
Search | Medium | Triple sum | triple-sum.py |
Search | Medium | Minimum Time Required | minimum-time-required.py |
Sorting | Easy | Mark and Toys | mark-and-toys.py |
Sorting | Easy | Sorting: Bubble Sort | ctci-bubble-sort.py |
Sorting | Medium | Fraudulent Activity Notifications | fraudulent-activity-notifications.py |
Sorting | Medium | Sorting: Comparator | ctci-comparator-sorting.py |
Sorting | Hard | Merge Sort: Counting Inversions | ctci-merge-sort.py |
Stacks and Queues | Medium | Balanced Brackets | balanced-brackets.py |
Stacks and Queues | Medium | Castle on the Grid | castle-on-the-grid.py |
Stacks and Queues | Medium | Largest Rectangle | largest-rectangle.py |
Stacks and Queues | Medium | Queues: A Tale of Two Stacks | ctci-queue-using-two-stacks.py |
Stacks and Queues | Hard | Poisonous Plants | poisonous-plants.py |
Strings | Easy | Alternating Characters | alternating-characters.py |
Strings | Easy | Strings: Making Anagrams | ctci-making-anagrams.py |
Strings | Medium | Sherlock and the Valid String | sherlock-and-valid-string.py |
Strings | Medium | Special Palindrome Again | special-palindrome-again.py |
Strings | Medium | Common Child | common-child.py |
Trees | Easy | Binary Search Tree : Lowest Common Ancestor | binary-search-tree-lowest-common-ancestor.py |
Trees | Easy | Tree: Height of a Binary Tree | tree-height-of-a-binary-tree.py |
Trees | Medium | Tree: Huffman Decoding | tree-huffman-decoding.py |
Trees | Medium | Trees: Is This a Binary Search Tree? | ctci-is-binary-search-tree.py |