If you have any query feel free to chat us!
Happy Coding! Happy Learning!
Lecture 104:- Perfect Squares
The Perfect Squares problem is a classic dynamic programming problem. Given a positive integer
n
, you need to find the least number of perfect square numbers (e.g., 1, 4, 9, 16, etc.) that sum up ton
.Here's a Python function that implements the Perfect Squares algorithm using dynamic programming:
pythonCopy code
def num_squares(n): dp = [float('inf')] * (n + 1) dp[0] = 0 for i in range(1, n + 1): j = 1 while j * j <= i: dp[i] = min(dp[i], dp[i - j * j] + 1) j += 1 return dp[n] # Test the function print(num_squares(12)) # Output: 3 (12 = 4 + 4 + 4) print(num_squares(13)) # Output: 2 (13 = 4 + 9)
In this code, the
num_squares()
function takes a positive integern
as input. It creates adp
array to store the minimum number of perfect square numbers needed to sum up to each number from 0 ton
.The dynamic programming approach iterates from 1 to
n
and tries all possible perfect square numbers to find the minimum number of perfect squares required to reach the current number. The result is stored indp[n]
, which represents the minimum number of perfect squares needed to sum up ton
.The time complexity of this solution is O(n * sqrt(n)), where
n
is the given positive integer. The space complexity is O(n) due to the dynamic programming arraydp
.
Comments: 2
SCIAKU Team please upload 1st video of TREE please please please, please
I bought this course, it worth it!
Hi i want to buy this course but you dont have master card payment method please let me know how i can buy it
Dear mk.info.work, Now we have all types of payment options. If you need to purchase just checkout our official website