AlgoDaily
The AlgoDaily Book — Core Essentials
by Jacob Zhang · 2021
A curated collection of algorithmic and data structure problems with comprehensive explanations. Covers arrays, strings, trees, dynamic programming, and more.
455Extracted Problems
76Chapters
0Linked to DB
455Book Total
InterviewsAlgorithmsData Structures
455 shown
- 1.1Two sum problemArraysHashEasy1.2Reverse an integerMathEasy1.3Valid anagramStringsEasy1.4First non-repeating characterStringsHashEasy1-5Exercise 1.5Hard1-6Exercise 1.6Easy
- 2.1Reverse a linked list (iterative + recursive)LinkedListEasy2.2Remove nth node from endLinkedListTwoPointersMedium2.3Reorder listLinkedListMedium2-4Exercise 2.4Medium2-5Exercise 2.5Hard2-6Exercise 2.6Easy
- 3.1Maximum depth of binary treeTreeEasy3.2Validate binary search treeTreeBSTMedium3.3Binary tree level order traversalTreeBFSMedium3.4Number of connected components in graphGraphDFSMedium3-5Exercise 3.5Hard3-6Exercise 3.6Easy
- 4.1Binary search implementationBinarySearchEasy4.2Search in rotated sorted arrayBinarySearchMedium4.3Merge intervalsSortingMedium4.4Find K closest elementsBinarySearchMedium4-5Exercise 4.5Hard4-6Exercise 4.6Easy
- 5.1Climbing stairsDPEasy5.2House robberDPMedium5.3Coin changeDPMedium5.4Longest palindromic substringDPStringsHard5-5Exercise 5.5Hard5-6Exercise 5.6Easy
- 6.1Valid parenthesesStackEasy6.2Min stackStackEasy6.3Implement queue using stacksStackQueueEasy6-4Exercise 6.4Medium6-5Exercise 6.5Hard6-6Exercise 6.6Easy
- 7.1Generate all subsetsBacktrackingMedium7.2Generate all permutationsBacktrackingMedium7.3N-Queens problemBacktrackingHard7-4Exercise 7.4Medium7-5Exercise 7.5Hard7-6Exercise 7.6Easy
- 8.1Count number of 1 bitsBitManipulationEasy8.2Missing number in arrayBitManipulationEasy8.3Design a URL shortenerSystemDesignMedium8.4Implement a T9 autocomplete systemTrieHard8-5Exercise 8.5Hard8-6Exercise 8.6Easy
- 9-1Advanced Sorting Problem 1Easy9-2Advanced Sorting Problem 2Easy9-3Advanced Sorting Problem 3Medium9-4Advanced Sorting Problem 4Medium9-5Advanced Sorting Problem 5Hard9-6Exercise 9.6Easy
- 10-1Dynamic Programming Problem 1Easy10-2Dynamic Programming Problem 2Easy10-3Dynamic Programming Problem 3Medium10-4Dynamic Programming Problem 4Medium10-5Dynamic Programming Problem 5Hard10-6Dynamic Programming Problem 6Easy
- 11-1Advanced Sorting Problem 1Easy11-2Advanced Sorting Problem 2Easy11-3Advanced Sorting Problem 3Medium11-4Advanced Sorting Problem 4Medium11-5Advanced Sorting Problem 5Hard11-6Exercise 11.6Easy
- 12-1Dynamic Programming Problem 1Easy12-2Dynamic Programming Problem 2Easy12-3Dynamic Programming Problem 3Medium12-4Dynamic Programming Problem 4Medium12-5Dynamic Programming Problem 5Hard12-6Dynamic Programming Problem 6Easy
- 13-1Advanced Sorting Problem 1Easy13-2Advanced Sorting Problem 2Easy13-3Advanced Sorting Problem 3Medium13-4Advanced Sorting Problem 4Medium13-5Advanced Sorting Problem 5Hard13-6Exercise 13.6Easy
- 14-1Dynamic Programming Problem 1Easy14-2Dynamic Programming Problem 2Easy14-3Dynamic Programming Problem 3Medium14-4Dynamic Programming Problem 4Medium14-5Dynamic Programming Problem 5Hard14-6Dynamic Programming Problem 6Easy
- 15-1Advanced Sorting Problem 1Easy15-2Advanced Sorting Problem 2Easy15-3Advanced Sorting Problem 3Medium15-4Advanced Sorting Problem 4Medium15-5Advanced Sorting Problem 5Hard15-6Exercise 15.6Easy
- 16-1Dynamic Programming Problem 1Easy16-2Dynamic Programming Problem 2Easy16-3Dynamic Programming Problem 3Medium16-4Dynamic Programming Problem 4Medium16-5Dynamic Programming Problem 5Hard16-6Dynamic Programming Problem 6Easy
- 17-1Advanced Sorting Problem 1Easy17-2Advanced Sorting Problem 2Easy17-3Advanced Sorting Problem 3Medium17-4Advanced Sorting Problem 4Medium17-5Advanced Sorting Problem 5Hard17-6Exercise 17.6Easy
- 18-1Dynamic Programming Problem 1Easy18-2Dynamic Programming Problem 2Easy18-3Dynamic Programming Problem 3Medium18-4Dynamic Programming Problem 4Medium18-5Dynamic Programming Problem 5Hard18-6Dynamic Programming Problem 6Easy
- 19-1Advanced Sorting Problem 1Easy19-2Advanced Sorting Problem 2Easy19-3Advanced Sorting Problem 3Medium19-4Advanced Sorting Problem 4Medium19-5Advanced Sorting Problem 5Hard19-6Exercise 19.6Easy
- 20-1Dynamic Programming Problem 1Easy20-2Dynamic Programming Problem 2Easy20-3Dynamic Programming Problem 3Medium20-4Dynamic Programming Problem 4Medium20-5Dynamic Programming Problem 5Hard20-6Dynamic Programming Problem 6Easy
- 21-1Advanced Sorting Problem 1Easy21-2Advanced Sorting Problem 2Easy21-3Advanced Sorting Problem 3Medium21-4Advanced Sorting Problem 4Medium21-5Advanced Sorting Problem 5Hard21-6Exercise 21.6Easy
- 22-1Dynamic Programming Problem 1Easy22-2Dynamic Programming Problem 2Easy22-3Dynamic Programming Problem 3Medium22-4Dynamic Programming Problem 4Medium22-5Dynamic Programming Problem 5Hard22-6Dynamic Programming Problem 6Easy
- 23-1Advanced Sorting Problem 1Easy23-2Advanced Sorting Problem 2Easy23-3Advanced Sorting Problem 3Medium23-4Advanced Sorting Problem 4Medium23-5Advanced Sorting Problem 5Hard23-6Exercise 23.6Easy
- 24-1Dynamic Programming Problem 1Easy24-2Dynamic Programming Problem 2Easy24-3Dynamic Programming Problem 3Medium24-4Dynamic Programming Problem 4Medium24-5Dynamic Programming Problem 5Hard24-6Dynamic Programming Problem 6Easy
- 25-1Advanced Sorting Problem 1Easy25-2Advanced Sorting Problem 2Easy25-3Advanced Sorting Problem 3Medium25-4Advanced Sorting Problem 4Medium25-5Advanced Sorting Problem 5Hard25-6Exercise 25.6Easy
- 26-1Dynamic Programming Problem 1Easy26-2Dynamic Programming Problem 2Easy26-3Dynamic Programming Problem 3Medium26-4Dynamic Programming Problem 4Medium26-5Dynamic Programming Problem 5Hard26-6Dynamic Programming Problem 6Easy
- 27-1Advanced Sorting Problem 1Easy27-2Advanced Sorting Problem 2Easy27-3Advanced Sorting Problem 3Medium27-4Advanced Sorting Problem 4Medium27-5Advanced Sorting Problem 5Hard27-6Exercise 27.6Easy
- 28-1Dynamic Programming Problem 1Easy28-2Dynamic Programming Problem 2Easy28-3Dynamic Programming Problem 3Medium28-4Dynamic Programming Problem 4Medium28-5Dynamic Programming Problem 5Hard28-6Dynamic Programming Problem 6Easy
- 29-1Advanced Sorting Problem 1Easy29-2Advanced Sorting Problem 2Easy29-3Advanced Sorting Problem 3Medium29-4Advanced Sorting Problem 4Medium29-5Advanced Sorting Problem 5Hard29-6Exercise 29.6Easy
- 30-1Dynamic Programming Problem 1Easy30-2Dynamic Programming Problem 2Easy30-3Dynamic Programming Problem 3Medium30-4Dynamic Programming Problem 4Medium30-5Dynamic Programming Problem 5Hard30-6Dynamic Programming Problem 6Easy
- 31-1Advanced Sorting Problem 1Easy31-2Advanced Sorting Problem 2Easy31-3Advanced Sorting Problem 3Medium31-4Advanced Sorting Problem 4Medium31-5Advanced Sorting Problem 5Hard31-6Exercise 31.6Easy
- 32-1Dynamic Programming Problem 1Easy32-2Dynamic Programming Problem 2Easy32-3Dynamic Programming Problem 3Medium32-4Dynamic Programming Problem 4Medium32-5Dynamic Programming Problem 5Hard32-6Dynamic Programming Problem 6Easy
- 33-1Advanced Sorting Problem 1Easy33-2Advanced Sorting Problem 2Easy33-3Advanced Sorting Problem 3Medium33-4Advanced Sorting Problem 4Medium33-5Advanced Sorting Problem 5Hard33-6Exercise 33.6Easy
- 34-1Dynamic Programming Problem 1Easy34-2Dynamic Programming Problem 2Easy34-3Dynamic Programming Problem 3Medium34-4Dynamic Programming Problem 4Medium34-5Dynamic Programming Problem 5Hard34-6Dynamic Programming Problem 6Easy
- 35-1Advanced Sorting Problem 1Easy35-2Advanced Sorting Problem 2Easy35-3Advanced Sorting Problem 3Medium35-4Advanced Sorting Problem 4Medium35-5Advanced Sorting Problem 5Hard35-6Exercise 35.6Easy
- 36-1Dynamic Programming Problem 1Easy36-2Dynamic Programming Problem 2Easy36-3Dynamic Programming Problem 3Medium36-4Dynamic Programming Problem 4Medium36-5Dynamic Programming Problem 5Hard36-6Dynamic Programming Problem 6Easy
- 37-1Advanced Sorting Problem 1Easy37-2Advanced Sorting Problem 2Easy37-3Advanced Sorting Problem 3Medium37-4Advanced Sorting Problem 4Medium37-5Advanced Sorting Problem 5Hard37-6Exercise 37.6Easy
- 38-1Dynamic Programming Problem 1Easy38-2Dynamic Programming Problem 2Easy38-3Dynamic Programming Problem 3Medium38-4Dynamic Programming Problem 4Medium38-5Dynamic Programming Problem 5Hard38-6Dynamic Programming Problem 6Easy
- 39-1Advanced Sorting Problem 1Easy39-2Advanced Sorting Problem 2Easy39-3Advanced Sorting Problem 3Medium39-4Advanced Sorting Problem 4Medium39-5Advanced Sorting Problem 5Hard39-6Exercise 39.6Easy
- 40-1Dynamic Programming Problem 1Easy40-2Dynamic Programming Problem 2Easy40-3Dynamic Programming Problem 3Medium40-4Dynamic Programming Problem 4Medium40-5Dynamic Programming Problem 5Hard40-6Dynamic Programming Problem 6Easy
- 41-1Advanced Sorting Problem 1Easy41-2Advanced Sorting Problem 2Easy41-3Advanced Sorting Problem 3Medium41-4Advanced Sorting Problem 4Medium41-5Advanced Sorting Problem 5Hard41-6Exercise 41.6Easy
- 42-1Dynamic Programming Problem 1Easy42-2Dynamic Programming Problem 2Easy42-3Dynamic Programming Problem 3Medium42-4Dynamic Programming Problem 4Medium42-5Dynamic Programming Problem 5Hard42-6Dynamic Programming Problem 6Easy
- 43-1Advanced Sorting Problem 1Easy43-2Advanced Sorting Problem 2Easy43-3Advanced Sorting Problem 3Medium43-4Advanced Sorting Problem 4Medium43-5Advanced Sorting Problem 5Hard43-6Exercise 43.6Easy
- 44-1Dynamic Programming Problem 1Easy44-2Dynamic Programming Problem 2Easy44-3Dynamic Programming Problem 3Medium44-4Dynamic Programming Problem 4Medium44-5Dynamic Programming Problem 5Hard44-6Dynamic Programming Problem 6Easy
- 45-1Advanced Sorting Problem 1Easy45-2Advanced Sorting Problem 2Easy45-3Advanced Sorting Problem 3Medium45-4Advanced Sorting Problem 4Medium45-5Advanced Sorting Problem 5Hard45-6Exercise 45.6Easy
- 46-1Dynamic Programming Problem 1Easy46-2Dynamic Programming Problem 2Easy46-3Dynamic Programming Problem 3Medium46-4Dynamic Programming Problem 4Medium46-5Dynamic Programming Problem 5Hard46-6Dynamic Programming Problem 6Easy
- 47-1Advanced Sorting Problem 1Easy47-2Advanced Sorting Problem 2Easy47-3Advanced Sorting Problem 3Medium47-4Advanced Sorting Problem 4Medium47-5Advanced Sorting Problem 5Hard47-6Exercise 47.6Easy
- 48-1Dynamic Programming Problem 1Easy48-2Dynamic Programming Problem 2Easy48-3Dynamic Programming Problem 3Medium48-4Dynamic Programming Problem 4Medium48-5Dynamic Programming Problem 5Hard48-6Dynamic Programming Problem 6Easy
- 49-1Advanced Sorting Problem 1Easy49-2Advanced Sorting Problem 2Easy49-3Advanced Sorting Problem 3Medium49-4Advanced Sorting Problem 4Medium49-5Advanced Sorting Problem 5Hard49-6Exercise 49.6Easy
- 50-1Dynamic Programming Problem 1Easy50-2Dynamic Programming Problem 2Easy50-3Dynamic Programming Problem 3Medium50-4Dynamic Programming Problem 4Medium50-5Dynamic Programming Problem 5Hard50-6Dynamic Programming Problem 6Easy
- 51-1Advanced Sorting Problem 1Easy51-2Advanced Sorting Problem 2Easy51-3Advanced Sorting Problem 3Medium51-4Advanced Sorting Problem 4Medium51-5Advanced Sorting Problem 5Hard51-6Exercise 51.6Easy
- 52-1Dynamic Programming Problem 1Easy52-2Dynamic Programming Problem 2Easy52-3Dynamic Programming Problem 3Medium52-4Dynamic Programming Problem 4Medium52-5Dynamic Programming Problem 5Hard52-6Dynamic Programming Problem 6Easy
- 53-1Advanced Sorting Problem 1Easy53-2Advanced Sorting Problem 2Easy53-3Advanced Sorting Problem 3Medium53-4Advanced Sorting Problem 4Medium53-5Advanced Sorting Problem 5Hard53-6Exercise 53.6Easy
- 54-1Dynamic Programming Problem 1Easy54-2Dynamic Programming Problem 2Easy54-3Dynamic Programming Problem 3Medium54-4Dynamic Programming Problem 4Medium54-5Dynamic Programming Problem 5Hard54-6Dynamic Programming Problem 6Easy
- 55-1Advanced Sorting Problem 1Easy55-2Advanced Sorting Problem 2Easy55-3Advanced Sorting Problem 3Medium55-4Advanced Sorting Problem 4Medium55-5Advanced Sorting Problem 5Hard55-6Exercise 55.6Easy
- 56-1Dynamic Programming Problem 1Easy56-2Dynamic Programming Problem 2Easy56-3Dynamic Programming Problem 3Medium56-4Dynamic Programming Problem 4Medium56-5Dynamic Programming Problem 5Hard56-6Dynamic Programming Problem 6Easy
- 57-1Advanced Sorting Problem 1Easy57-2Advanced Sorting Problem 2Easy57-3Advanced Sorting Problem 3Medium57-4Advanced Sorting Problem 4Medium57-5Advanced Sorting Problem 5Hard57-6Exercise 57.6Easy
- 58-1Dynamic Programming Problem 1Easy58-2Dynamic Programming Problem 2Easy58-3Dynamic Programming Problem 3Medium58-4Dynamic Programming Problem 4Medium58-5Dynamic Programming Problem 5Hard58-6Dynamic Programming Problem 6Easy
- 59-1Advanced Sorting Problem 1Easy59-2Advanced Sorting Problem 2Easy59-3Advanced Sorting Problem 3Medium59-4Advanced Sorting Problem 4Medium59-5Advanced Sorting Problem 5Hard59-6Exercise 59.6Easy
- 60-1Dynamic Programming Problem 1Easy60-2Dynamic Programming Problem 2Easy60-3Dynamic Programming Problem 3Medium60-4Dynamic Programming Problem 4Medium60-5Dynamic Programming Problem 5Hard60-6Dynamic Programming Problem 6Easy
- 61-1Advanced Sorting Problem 1Easy61-2Advanced Sorting Problem 2Easy61-3Advanced Sorting Problem 3Medium61-4Advanced Sorting Problem 4Medium61-5Advanced Sorting Problem 5Hard61-6Exercise 61.6Easy
- 62-1Dynamic Programming Problem 1Easy62-2Dynamic Programming Problem 2Easy62-3Dynamic Programming Problem 3Medium62-4Dynamic Programming Problem 4Medium62-5Dynamic Programming Problem 5Hard62-6Dynamic Programming Problem 6Easy
- 63-1Advanced Sorting Problem 1Easy63-2Advanced Sorting Problem 2Easy63-3Advanced Sorting Problem 3Medium63-4Advanced Sorting Problem 4Medium63-5Advanced Sorting Problem 5Hard63-6Exercise 63.6Easy
- 64-1Dynamic Programming Problem 1Easy64-2Dynamic Programming Problem 2Easy64-3Dynamic Programming Problem 3Medium64-4Dynamic Programming Problem 4Medium64-5Dynamic Programming Problem 5Hard64-6Dynamic Programming Problem 6Easy
- 65-1Advanced Sorting Problem 1Easy65-2Advanced Sorting Problem 2Easy65-3Advanced Sorting Problem 3Medium65-4Advanced Sorting Problem 4Medium65-5Advanced Sorting Problem 5Hard65-6Exercise 65.6Easy
- 66-1Dynamic Programming Problem 1Easy66-2Dynamic Programming Problem 2Easy66-3Dynamic Programming Problem 3Medium66-4Dynamic Programming Problem 4Medium66-5Dynamic Programming Problem 5Hard66-6Dynamic Programming Problem 6Easy
- 67-1Advanced Sorting Problem 1Easy67-2Advanced Sorting Problem 2Easy67-3Advanced Sorting Problem 3Medium67-4Advanced Sorting Problem 4Medium67-5Advanced Sorting Problem 5Hard67-6Exercise 67.6Easy
- 68-1Dynamic Programming Problem 1Easy68-2Dynamic Programming Problem 2Easy68-3Dynamic Programming Problem 3Medium68-4Dynamic Programming Problem 4Medium68-5Dynamic Programming Problem 5Hard68-6Dynamic Programming Problem 6Easy
- 69-1Advanced Sorting Problem 1Easy69-2Advanced Sorting Problem 2Easy69-3Advanced Sorting Problem 3Medium69-4Advanced Sorting Problem 4Medium69-5Advanced Sorting Problem 5Hard69-6Exercise 69.6Easy
- 70-1Dynamic Programming Problem 1Easy70-2Dynamic Programming Problem 2Easy70-3Dynamic Programming Problem 3Medium70-4Dynamic Programming Problem 4Medium70-5Dynamic Programming Problem 5Hard70-6Dynamic Programming Problem 6Easy
- 71-1Advanced Sorting Problem 1Easy71-2Advanced Sorting Problem 2Easy71-3Advanced Sorting Problem 3Medium71-4Advanced Sorting Problem 4Medium71-5Advanced Sorting Problem 5Hard71-6Exercise 71.6Easy
- 72-1Dynamic Programming Problem 1Easy72-2Dynamic Programming Problem 2Easy72-3Dynamic Programming Problem 3Medium72-4Dynamic Programming Problem 4Medium72-5Dynamic Programming Problem 5Hard72-6Dynamic Programming Problem 6Easy
- 73-1Advanced Sorting Problem 1Easy73-2Advanced Sorting Problem 2Easy73-3Advanced Sorting Problem 3Medium73-4Advanced Sorting Problem 4Medium73-5Advanced Sorting Problem 5Hard73-6Exercise 73.6Easy
- 74-1Dynamic Programming Problem 1Easy74-2Dynamic Programming Problem 2Easy74-3Dynamic Programming Problem 3Medium74-4Dynamic Programming Problem 4Medium74-5Dynamic Programming Problem 5Hard74-6Dynamic Programming Problem 6Easy
Advanced Sorting concepts and practice
75-1Advanced Sorting Problem 1Easy75-2Advanced Sorting Problem 2Easy75-3Advanced Sorting Problem 3Medium75-4Advanced Sorting Problem 4Medium75-5Advanced Sorting Problem 5HardDynamic Programming concepts and practice
76-1Dynamic Programming Problem 1Easy76-2Dynamic Programming Problem 2Easy76-3Dynamic Programming Problem 3Medium76-4Dynamic Programming Problem 4Medium76-5Dynamic Programming Problem 5Hard76-6Dynamic Programming Problem 6Easy