这个的时间复杂度大概是多少
  • 板块灌水区
  • 楼主qwq666666
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/10/5 19:14
  • 上次更新2023/10/27 08:38:32
查看原帖
这个的时间复杂度大概是多少
777522
qwq666666楼主2022/10/5 19:14
#include<bits/stdc++.h>
#define N 10084
using namespace std;
string s;
int a[N],n=0,ans[N];
int main(){
	cin>>s;
	int d=0;
	for(int i=1;i<=s.size();i++){
		if(s[i-1]=='[')continue;
		if(s[i-1]==']'||s[i-1]==','){
			n++;
			d=0;
			continue;
		}
		a[n+1]=a[n+1]*10+(int)(s[i-1]-48);
	}
	int b=n;
	for(int i=n;i>1;i--){
		int d=i-1;
		for(;;){
			if(a[d]>=a[i])break;
			//if(a[d]<a[d+1]&&(d+1)!=i)break;
			ans[d]=i-d;
			d--;
		}
	}
//	cout<<ans[7]<<' '<<ans[9];
	for(int i=1;i<=b;i++){
		cout<<ans[i]<<' ';
	}
	return 0;
}
/*
给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中?answer[i]是指对于第 i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。

示例 1:

输入: temperatures = [73,74,75,71,69,72,76,73]
输出:[1,1,4,2,1,1,0,0]
示例 2:

输入: temperatures = [30,40,50,60]
输出:[1,1,1,0]
示例 3:

输入: temperatures = [30,60,90]
输出: [1,1,0]

某力的题

2022/10/5 19:14
加载中...