相关疑难解决方法(0)

什么是滑动窗口算法?例子?

在解决几何问题时,我遇到了一种称为滑动窗口算法的方法.

无法真正找到任何研究材料/细节.

算法是什么?

algorithm sliding-window

48
推荐指数
4
解决办法
6万
查看次数

二指针算法

我试图理解两指针算法的方法,所以我一直在阅读本文

所以这是问题。假设我们有N个元素组成的数组。并且我们想要在该数组中找到最大的连续元素序列,且其总和小于或等于M。我们必须返回元素序列求和的值。

因此,假设我们有一个元素数组[2、1、3、4、5],我们的M为12。我们将返回12,因为3、4和5的总和为12。这就是本文的方法

  • 我们引入两个指针l,分别r表示连续子数组的startIndex和endIndex,它们都位于数组的尖端。
  • 现在我们开始扩展我们的右指针rsum[l,r] <= M一旦到达这个阶段,我们别无选择,只能移动左指针并开始减少总和,直到我们可以扩展右指针的情况为止。再次。
  • 当我们到达需要向左移动指针的位置时,我们会不断更新到目前为止已达到的最大和。

这是C ++代码。

#include <bits/stdc++.h>
#define lli long long
#define MAX 1000005

using namespace std;

lli A[MAX];

int main()
{
    int n;
    lli sum = 0;     
    cin >> n;

    for ( int i = 0; i < n; i++ ) cin >> A[i];

    int l = 0, r = 0;
    lli ans = 0;

    while ( l < n ) {
       while ( r …
Run Code Online (Sandbox Code Playgroud)

algorithm greedy

5
推荐指数
0
解决办法
2031
查看次数

标签 统计

algorithm ×2

greedy ×1

sliding-window ×1