关注
敲了下一楼回复里的最少平方数个数 import math def is_sqrt(n): sqrt=math.sqrt(n) return sqrt-int(sqrt)==0 def get_res(n): dp=[1]+[0]*n if(is_sqrt(n)):return 1 for i in range(1,n+1): if(is_sqrt(i)): dp[i]=1 continue dp[i]=dp[i-1]+1#i可能取到的最大数。最不济也能上一个数加一个1得到,所以是+1(dp[1])#然后循环取最小 for j in range(i-1,(i+1)//2-1,-1): dp[i]=min(dp[i],dp[i-j]+dp[j])#是直接i组成平方数大,还是拆成2个数,分别平方数求和大。从大到小遍历更快。 if(dp[i]==2):break#剪枝 return dp[n] print(get_res(13))#2
查看原帖
1 评论
相关推荐
04-27 22:08
湖南工商大学 Java 点赞 评论 收藏
分享
03-14 20:09
黑龙江科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作,行业重要还是岗位重要? #
10393次浏览 178人参与
# 国企还是互联网,你怎么选? #
123503次浏览 958人参与
# 潍柴工作体验 #
17249次浏览 17人参与
# 盲审过后你想做什么? #
13369次浏览 119人参与
# 五一之后,实习真的很难找吗? #
48862次浏览 349人参与
# 外包能不能当跳板? #
22655次浏览 192人参与
# 央国企投递记录 #
79984次浏览 1318人参与
# 你觉得通信/硬件有必要实习吗? #
92779次浏览 891人参与
# 我的2024小目标 #
57017次浏览 380人参与
# 中美关税战对我们有哪些影响 #
27546次浏览 261人参与
# 每人推荐一个小而美的高薪公司 #
72947次浏览 1358人参与
# 领导秒批的请假话术 #
10618次浏览 83人参与
# 设计人如何选offer #
98915次浏览 691人参与
# 五一假期,你打算“躺”还是“卷”? #
38346次浏览 487人参与
# 蚂蚁集团工作体验 #
10901次浏览 70人参与
# 小厂实习有必要去吗 #
42539次浏览 260人参与
# 一句话证明你在找工作 #
294027次浏览 2428人参与
# 创作灵感 #
96709次浏览 1475人参与
# 应届生进小公司有什么影响吗 #
67410次浏览 984人参与
# 实习生活中那些难忘的瞬间 #
100270次浏览 1787人参与