【发布时间】:2021-07-07 10:45:13
【问题描述】:
我的解决方案是否适用于所有测试用例。 这是 google kickstart 2020 round d 问题。 对于 4 个测试用例,我的输出是正确的。 时间复杂度也是 O(n)。
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
int a[n+1];
a[n] = -1;
for(int i = 0; i < n; i++){
cin>>a[i];
}
int max = 0;
int ans = 0;
if(a[1] < a[max]){
ans = 1;
}
for(int i = 1; i < n; i++){
if(a[i] > a[max]){
if(a[i] > a[i+1]){
max = i;
ans++;
}
}
}
cout<<ans<<endl;
return 0;
}
【问题讨论】:
-
int a[n+1];是一个可变长度数组。它不在标准 C++ 中。您应该考虑改用std::vector。 -
除此之外,还有其他问题。
-
对于可以使用一些改进的工作代码codereview.stackexchange.com是正确的地方问
标签: c++