
获得徽章 0
赞了这篇文章
赞了这篇文章
赞了这篇沸点
#刷题交流# 第八天 小M的数组变换
有了题解确实不错,代码很简洁,思路很明确
搞懂了代码里:
为什么使用 i * i <= x?
在提取素因子时,我们只需要遍历到 sqrt(x) 而不是 x 本身。这是因为:
素因子分解的性质:如果 x 可以被某个数 i 整除,那么 i 和 x/i 都是 x 的因子。
对称性:如果 i 是 x 的因子,那么 x/i 也是 x 的因子。因此,我们只需要检查到 sqrt(x) 即可覆盖所有可能的因子。
但后遍没有想明白,明天抽空找一个好一点的测试用例,手动模拟一下
有了题解确实不错,代码很简洁,思路很明确
搞懂了代码里:
为什么使用 i * i <= x?
在提取素因子时,我们只需要遍历到 sqrt(x) 而不是 x 本身。这是因为:
素因子分解的性质:如果 x 可以被某个数 i 整除,那么 i 和 x/i 都是 x 的因子。
对称性:如果 i 是 x 的因子,那么 x/i 也是 x 的因子。因此,我们只需要检查到 sqrt(x) 即可覆盖所有可能的因子。
但后遍没有想明白,明天抽空找一个好一点的测试用例,手动模拟一下
![[不失礼貌的微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)
展开
评论
点赞
#刷题交流# 第五天 dp 313 0,1背包最大价值问题
动态规划一直在规划哈哈
推荐一波:闫氏dp分析法
状态表示F(i,j)
集合
属性 :MAX MIN COUNT
状态计算
将集合划分为不同的子集
划分依据 : 当前的 i 物品 是选还是不选
子集满足的条件 : 不重复(最值可不考虑)、不遗漏。
在做背包问题的时候,代码基本一样,但换个逻辑思维确实有不一样的收获
动态规划一直在规划哈哈
推荐一波:闫氏dp分析法
状态表示F(i,j)
集合
属性 :MAX MIN COUNT
状态计算
将集合划分为不同的子集
划分依据 : 当前的 i 物品 是选还是不选
子集满足的条件 : 不重复(最值可不考虑)、不遗漏。
在做背包问题的时候,代码基本一样,但换个逻辑思维确实有不一样的收获
![[不失礼貌的微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_16.9d17f6d.png)
展开
评论
1
赞了这篇文章
#刷题交流# 第四天 8 找出整形数组中占比超过一半的数
想法:哈希表存储,将各个数作为键,出现的次数作为值,又只有一个数超过总数的一半
之后遍历,出现返回就好
豆包给出了一种优化——摩尔投票算法,没太理解
想法:哈希表存储,将各个数作为键,出现的次数作为值,又只有一个数超过总数的一半
之后遍历,出现返回就好
豆包给出了一种优化——摩尔投票算法,没太理解
![[尬笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_59.8a63cb5.png)
评论
点赞
赞了这篇沸点
赞了这篇文章
赞了这篇文章