Back to Practice Dashboard
Competitive ProgrammingEasy
Matrix Chain Multiplication
Learn how to solve the 'Matrix Chain Multiplication' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Easy
Write a function matrix_chain_order(p) that takes an array p representing the dimensions of a chain of matrices such that matrix i has dimension p[i-1] x p[i]. Find the minimum number of scalar multiplications needed to multiply the chain of matrices.
Constraints
- •2 <= len(p) <= 100
- •1 <= p[i] <= 500
Examples
Example 1
Input
matrix_chain_order([40, 20, 30, 10, 30])
Output
26000
Explanation
There are 4 matrices of dimensions 40x20, 20x30, 30x10, and 10x30. The minimum operations are obtained by multiplying them in the order ((A(BC))D).
Example 2
Input
matrix_chain_order([10, 20, 30, 40, 30])
Output
30000
Explanation
The minimum number of scalar multiplications is 30000.
Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.