Skip to main content

Solutions & Explanations

Browse 4,029+ detailed solutions with multiple approaches, code in Python, Java, C++ and more.

4,029 Solutions961 Easy2102 Medium966 Hard
#3690Medium

Split and Merge Array Transformation

ArrayBreadth-First SearchHash Table

Acceptance: 58.7%

#3603Medium

Minimum Cost Path with Alternating Directions II

ArrayDynamic ProgrammingMatrix

Acceptance: 44.6%

#3596Medium

Minimum Cost Path with Alternating Directions I

BrainteaserMath

Acceptance: 71.3%

#3604Medium

Minimum Time to Reach Destination in Directed Graph

GraphHeap (Priority Queue)Shortest Path

Acceptance: 45.5%

#3670Medium

Maximum Product of Two Integers With No Common Bits

ArrayBit ManipulationDynamic Programming

Acceptance: 15.1%

#3599Medium

Partition Array to Minimize XOR

ArrayBit ManipulationDynamic Programming+1

Acceptance: 41.2%

#3593Medium

Minimum Increments to Equalize Leaf Paths

ArrayDepth-First SearchDynamic Programming+1

Acceptance: 41.2%

#3608Medium

Minimum Time for K Connected Components

Binary SearchGraphSorting+1

Acceptance: 45.2%

#3589Medium

Count Prime-Gap Balanced Subarrays

ArrayMathMonotonic Queue+3

Acceptance: 23.7%

#3597Medium

Partition String

Hash TableSimulationString+1

Acceptance: 59.4%

#3587Medium

Minimum Adjacent Swaps to Alternate Parity

ArrayGreedy

Acceptance: 42.3%

#3592Medium

Inverse Coin Change

ArrayDynamic Programming

Acceptance: 52.2%

#3565Medium

Sequential Grid Path Cover

ArrayMatrixRecursion

Acceptance: 60.2%

#3572Medium

Maximize Y‑Sum by Picking a Triplet of Distinct X‑Values

ArrayGreedyHash Table+2

Acceptance: 62.7%

#3573Medium

Best Time to Buy and Sell Stock V

ArrayDynamic Programming

Acceptance: 60.1%

#3555Medium

Smallest Subarray to Sort in Every Sliding Window

ArrayGreedyMonotonic Stack+3

Acceptance: 58.8%

#3650Medium

Minimum Cost Path with Edge Reversals

GraphHeap (Priority Queue)Shortest Path

Acceptance: 61.8%

#3623Medium

Count Number of Trapezoids I

ArrayGeometryHash Table+1

Acceptance: 48.1%

#3583Medium

Count Special Triplets

ArrayCountingHash Table

Acceptance: 47.1%

#3567Medium

Minimum Absolute Difference in Sliding Submatrix

ArrayMatrixSorting

Acceptance: 78.3%

#3613Medium

Minimize Maximum Component Cost

Binary SearchGraphSorting+1

Acceptance: 43.5%

#3540Medium

Minimum Time to Visit All Houses

ArrayPrefix Sum

Acceptance: 69.3%

#3664Medium

Two-Letter Card Game

ArrayCountingEnumeration+2

Acceptance: 13.0%

#3576Medium

Transform Array to All Equal Elements

ArrayGreedy

Acceptance: 33.1%

#3685Medium

Subsequence Sum After Capping Elements

ArrayDynamic ProgrammingSorting+1

Acceptance: 25.2%

#3568Medium

Minimum Moves to Clean the Classroom

ArrayBit ManipulationBreadth-First Search+2

Acceptance: 58.7%

#3588Medium

Find Maximum Area of a Triangle

ArrayEnumerationGeometry+3

Acceptance: 29.8%

#3577Medium

Count the Number of Computer Unlocking Permutations

ArrayBrainteaserCombinatorics+1

Acceptance: 59.0%

#3607Medium

Power Grid Maintenance

ArrayBreadth-First SearchDepth-First Search+5

Acceptance: 56.3%

#3520Medium

Minimum Threshold for Inversion Pairs Count

ArrayBinary Indexed TreeBinary Search+1

Acceptance: 56.3%

#3561Medium

Resulting String After Adjacent Removals

SimulationStackString

Acceptance: 56.5%

#3557Medium

Find Maximum Number of Non Intersecting Substrings

Dynamic ProgrammingGreedyHash Table+1

Acceptance: 31.1%

#3543Medium

Maximum Weighted K-Edge Path

Dynamic ProgrammingGraphHash Table

Acceptance: 20.5%

#3511Medium

Make a Positive Array

ArrayGreedyPrefix Sum

Acceptance: 36.9%

#3546Medium

Equal Sum Grid Partition I

ArrayEnumerationMatrix+1

Acceptance: 52.9%

#3551Medium

Minimum Swaps to Sort by Digit Sum

ArrayHash TableSorting

Acceptance: 50.5%

#3558Medium

Number of Ways to Assign Edge Weights I

Depth-First SearchMathTree

Acceptance: 63.7%

#3566Medium

Partition Array into Two Equal Product Subsets

ArrayBit ManipulationEnumeration+1

Acceptance: 35.1%

#3496Medium

Maximize Score After Pair Deletions

ArrayGreedy

Acceptance: 52.5%

#3532Medium

Path Existence Queries in a Graph I

ArrayBinary SearchGraph+2

Acceptance: 70.6%

#3552Medium

Grid Teleportation Traversal

ArrayBreadth-First SearchHash Table+1

Acceptance: 24.0%

#3578Medium

Count Partitions With Max-Min Difference at Most K

ArrayDynamic ProgrammingMonotonic Queue+3

Acceptance: 58.2%

#3542Medium

Minimum Operations to Convert All Elements to Zero

ArrayGreedyHash Table+2

Acceptance: 53.0%

#3524Medium

Find X Value of Array I

ArrayDynamic ProgrammingMath

Acceptance: 66.5%

#3508Medium

Implement Router

ArrayBinary SearchDesign+3

Acceptance: 39.1%

#3481Medium

Apply Substitutions

ArrayBreadth-First SearchDepth-First Search+4

Acceptance: 78.0%

#3513Medium

Number of Unique XOR Triplets I

ArrayBit ManipulationMath

Acceptance: 57.2%

#3619Medium

Count Islands With Total Value Divisible by K

ArrayBreadth-First SearchDepth-First Search+2

Acceptance: 55.5%

#3537Medium

Fill a Special Grid

ArrayDivide and ConquerMatrix

Acceptance: 70.8%

#3529Medium

Count Cells in Overlapping Horizontal and Vertical Substrings

ArrayHash FunctionMatrix+3

Acceptance: 27.7%

Page 39 of 43

Master DSA with Step-by-Step Solutions

Each solution article on FleetCode breaks down the problem into multiple approaches, from brute force to optimal, with detailed explanations and code in Python, Java, C++ and more. Understanding why an approach works - not just copying code - is what separates candidates who clear interviews from those who don't.

How to Use These Solutions

  • Try the problem first: Spend at least 20 minutes before reading the solution
  • Read all approaches: Start from brute force to understand the problem fully, then study the optimized solution
  • Understand the complexity: Pay attention to time and space analysis for each approach
  • Code it yourself: After understanding the approach, close the solution and implement from memory
  • Revisit after a week: Spaced repetition helps retain problem-solving patterns