Buttercola: Leetcode: Perfect Squares
Leetcode: Perfect Squares
Given a positive integer n, find the least number of perfect square numbers (for example,
1, 4, 9, 16, ...) which sum to n. For example, given n =
12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9. Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
Understand the problem:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
This is a DP problem.
-- Define dp[n + 1], where dp[i] means the least number of perfect square numbers for integer i.
-- Initialization. dp[0] = 0. dp[i] = Integer.MAX_VALUE since we calculate the min number
-- Transit function, dp[i] = min(dp[i], dp[i - j * j]), where j * j <= i
-- Final state: dp[n]
Read full article from Buttercola: Leetcode: Perfect Squares
No comments:
Post a Comment