【279】完全平方数

 我来答
温屿17
2022-06-30 · TA获得超过1.2万个赞
知道小有建树答主
回答量:827
采纳率:0%
帮助的人:95.4万
展开全部

示例1:

示例2:

动态规划
动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
而这个题求正整数n,我们可以运用动态规划的思想,从1开始,求出直到n的个数最少的完全平方和。
首先声明一个n+1大小的数组dp,那么dp[i]就代表数字i所需的最少完全平方数个数,dp[i]初值设为i,即最差情况就是i个1相加。
声明变量j,j * j就代表平方数,如果dp[i-j * j]+1的个数比dp[i]小,那么dp[i]就设为dp[i-j * j]+1,这里+1的原因是j * j本身也要算一个数。

BFS广度优先搜索
当每一次都可以判断出多种情况,有多次的时候就适合用BFS-广度优先遍历
使用BFS应注意:
队列:用来存储每一轮遍历得到的节点;
标记:对于遍历过的节点,应该将它标记,防止重复遍历。
我们将它第一个平方数可能出现的情况做分析 只要 i * i < n 就行
再在此基础上进行二次可能出现的平方数分析
注意:为了节省遍历的时间,曾经( n - 以前出现的平方数) 这个值出现过,则在此出现这样的数时直接忽略。

看到评论里这个思路的时候,默默感叹吃了没文化的亏,评论里给出了一个数学定理,没仔细研究,有兴趣可以看看
四平方定理: 任何一个正整数都可以表示成不超过四个整数的平方之和。 推论:满足四数平方和定理的数n(四个整数的情况),必定满足 n=4^a(8b+7)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天津斯秘特
2024-07-16 广告
孔板流量计当选天津斯秘特。斯秘特公司的主要产品有旋进旋涡流量计、双转子流量计、通用电子流量计、腰轮流量计、椭圆齿轮流量计、涡轮流量计、涡街流量计、电磁流量计、过滤器、消气过滤器等。并根据用户要求订做非标准流量仪表。... 点击进入详情页
本回答由天津斯秘特提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式