Leetcode 279 Perfect Squares

来源:互联网 发布:java redis锁用法 编辑:程序博客网 时间:2024/05/16 19:11

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. 

两种思路:

1.Lagrange's four-square定理指出,任意一个自然数都可以用4个自然数平方之和表示

用两个set分别表示可以用1、2个自然数平方之和表示的数,如果可以用这两个集合中的数之和表示的则返回3,否则4。

2.DP





0 0