Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. class Solution:
  2.     def numSquares(self, n):
  3.         squares = []
  4.         k = 2
  5.         while k * k <= n:
  6.             squares.append(k * k)
  7.             k += 1
  8.  
  9.         nums = [0] * (n + 1)
  10.         for k in range(1, n + 1):
  11.             nums[k] = 1 + nums[k-1]
  12.             for s in squares:
  13.                 if s > k:
  14.                     break
  15.                 if nums[k-s] < nums[k]:
  16.                     nums[k] = 1 + nums[k-s]
  17.  
  18.         return nums[n]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement