摘要:
如果是和最大,那么直接一直加上去和 0 取个 max 好了,因为正值对后续一定是正贡献 现在考虑积,是不是也是类似 部分类似,如果全部都是正值,那么是类似的 但是有负值 负数的影响是什么呢,就是这里是小的,但是下次再乘个负数它就正了 所以这里要同时维护最小值和最大值 当然只维护两个元素自然也可以 但 阅读全文
posted @ 2026-03-19 20:34
rdcamelot
阅读(2)
评论(0)
推荐(0)
摘要:
栈如果用 vector 去模拟的话实际上也是往一个数组的末尾不断插入元素 如果出栈的话也就是删除末尾的元素 因此这题的目的实际上就是访问数组的前缀最小值,而且不会有修改操作 于是只要在每次添加元素的时候记录此时的最小值即可 采用两个 stack 或者 stack 内存储的是 pair 之类的类型均可 阅读全文
posted @ 2026-03-19 20:16
rdcamelot
阅读(1)
评论(0)
推荐(0)
摘要:
不能使用除法,那么分析要求等价于什么 如果不除,那么就是前后区间的元素乘积 可以使用前缀和来维护,这样可以 O(1) 得到我们想要的结果 class Solution { public: vector<int> productExceptSelf(vector<int>& a) { int n = 阅读全文
posted @ 2026-03-19 18:06
rdcamelot
阅读(1)
评论(0)
推荐(0)
摘要:
关键是进阶的 O(1) 空间复杂度的摩尔投票法(https://leetcode.cn/problems/majority-element/solutions/2362000/169-duo-shu-yuan-su-mo-er-tou-piao-qing-ledrh) 一个关键的出发点是类似于二分查 阅读全文
posted @ 2026-03-19 15:09
rdcamelot
阅读(1)
评论(0)
推荐(0)
摘要:
动态规划 子问题显然,因为每个数组当作是最后一个位置的话都是一个范围更小的子问题 每个位置只有打劫或不打劫两种 如果打劫的话,前面一家就不能打劫 所以每个位置都要维护 0/1 两种状态,方便后面转移 且 dp 的特点就在于当前最优,所以我们每次只需要从 i - 1 来转移就可以 class Solu 阅读全文
posted @ 2026-03-19 00:34
rdcamelot
阅读(2)
评论(0)
推荐(0)

浙公网安备 33010602011771号