算法及优化经验
文章平均质量分 57
c++算法以及优化经验记录总结
弹与征鸿
……***……
展开
-
代码优化技巧总结
有时代码逻辑相同,但是因为一些不同的书写习惯,性能会有很大的差距。 总结为下面几种情况: for循环展开 避免执行不必要的隐藏代码 消除不必要的内存引用 循环展开 当循环次数巨大的时候,可以通过将循环内的操作展开的方式,减少循环次数。 long a = 0; for (long i = 0; i < 1 << 20; i += 2){ a *= i * (i + 1); } 需要做1<<20次累成的时候,我们一次计算i和i+1两次乘法运算,循环操作耗时远比乘法指令耗时更原创 2021-04-26 16:30:15 · 1838 阅读 · 0 评论 -
动态规划
第一遍刷了一些动态规划的题目,很多只能参考别人的思路后写出来的。但还是没有掌握动态规划的精髓,所以回过来重新来一遍,并记录一下解题思路,以及每道题目的优化的方法。 题目:404. 一和零 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 普通解法 dp数据定义 定义dp[m+1][n+1],意义为当前有i个0,j个1时子原创 2021-01-05 09:18:52 · 168 阅读 · 0 评论