双指针求调
  • 板块题目总版
  • 楼主mosteryu
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/2/14 18:34
  • 上次更新2023/10/28 08:32:09
查看原帖
双指针求调
600052
mosteryu楼主2022/2/14 18:34

题目:连续子段和不超过k的长度,求长度

n为数列长度。

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
  int n,k;
  cin>>n>>k;
  int a[500001];
  for(int i=0;i<n;i++){
    cin>>a[i];
  }
  int sum=1,ans=max(-1,sum);
  int head=0,tail=0;
  while(head<n){
    if(sum<=k){
      head++;
      sum++;
    }else{
      sum--;
      tail++;
    }
    if(sum<=k){
      ans=max(ans,sum);
    }
  }
  cout<<ans;
  return 0;
}
2022/2/14 18:34
加载中...