leetcode209-Sliding-Window:滑动窗口

时间:2021-07-06 20:15:55
【文件属性】:
文件名称:leetcode209-Sliding-Window:滑动窗口
文件大小:1KB
文件格式:ZIP
更新时间:2021-07-06 20:15:55
系统开源 leetcode209 算法————滑动窗口 可以用来解决一些查找满足一定条件的连续区间的性质(长度等)的问题。由于区间连续,因此当区间发生变化时,它可以将嵌套的循环问题,转换为单循环问题,样便减少了重复计算,降低了时间复杂度。往往类似于“请找到满足xx的最x的区间(子串、子数组)的xx”这类问题都可以使用该方法进行解决。 例1.给定一个整数数组,计算长度为 'k' 的连续子数组的最大总和。 输入:a[]={100,200,700,400},k=2 输出:1100 解释:700+400=1100 暴力法: C++: double func(vector& a,int k) { int n=a.size(); int sum=0; int maxsum=0; for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { sum=a[i]+a[j]; maxsum=max(sum,maxsum); } } return (double)maxsum; } Java: 时间复杂度:O(k*n) 滑动窗口法: 当k=2时,设置窗口大小为2,窗口里的值的和保
【文件预览】:
Sliding-Window-main
----README.md(1KB)

网友评论