![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
滑动窗口
seez
njfu
展开
-
6.多重背包问题3 (单调队列优化)
原题链接原创 2022-02-01 11:34:38 · 610 阅读 · 0 评论 -
1238. 日志统计
1.暴力做法#include <iostream>#include <algorithm>#include <cstring>//暴力做法,会超时using namespace std;#define x first#define y secondconst int N = 100005;bool id[N]; //表示一个帖子是否是热帖typedef pair<int, int> PII;PII ts[N]; ...原创 2021-11-29 20:46:08 · 607 阅读 · 0 评论 -
799. 最长连续不重复子序列(滑动窗口,双指针)
维护一个窗口,然后每次枚举时,都进行进出窗口的操作就可以了#include <iostream>#include <algorithm>using namespace std;const int N=1e5+10;int a[N];bool st[N];int res;int main(){ int n; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; ...原创 2022-01-23 23:07:40 · 717 阅读 · 0 评论 -
leetcode 713. 乘积小于K的子数组(双指针,滑动窗口)
双指针算法,首先想想暴力怎么做 for(int i=0;i<nums.size();i++) { long long sum=1; for(int j=i;j<nums.size();j++) { sum*=nums[j]; if(sum<k) res++; if(sum>=k) break; } } 双指针算法维护区间信息,通..原创 2022-01-23 22:54:42 · 229 阅读 · 0 评论 -
763. 划分字母区间(滑动窗口,贪心)
分析:运用滑动窗口的思想,开needs哈希表和窗口哈希表,由于要划分尽可能多的片段,那么只要当前窗口中全部元素都满足了needs的数量(同一字母只在一个片段中),就立即断开,保证尽可能多的数量class Solution {public: vector<int> partitionLabels(string s) { unordered_map<char,int> needs;//需求 unordered_map<char,in...原创 2022-01-01 15:23:40 · 358 阅读 · 0 评论