论判断时间复杂度这一块
  • 板块学术版
  • 楼主Xiaonao_Dali
  • 当前回复32
  • 已保存回复32
  • 发布时间2025/8/3 14:40
  • 上次更新2025/8/3 19:48:36
查看原帖
论判断时间复杂度这一块
1076621
Xiaonao_Dali楼主2025/8/3 14:40

如代码,虽然出现循环套循环,但内层循环次数不固定,无法精准判断,请问这到底时间复杂度为多少呢?实在想不通。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,ans;
int a;
int k[100005];
signed main(){
	cin>>n>>m;
	int l=1,r=1;
	for(int i=1;i<=n;i++){
		r=i;
		cin>>a;
		k[i]=k[i-1]+a;
		while(k[r]-k[l-1]>m&&l<=r)l++;
		if(k[i]-k[l-1]==m){
			ans++;	
		}
	}
	cout<<ans;
	return 0;
}
2025/8/3 14:40
加载中...