Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Google Kick start中提交时出错_C++ - Fatal编程技术网

C++ 在Google Kick start中提交时出错

C++ 在Google Kick start中提交时出错,c++,C++,我是谷歌编码竞赛平台的新手。 我在练习谷歌2020年启动计划中的一些问题,下面就是这个问题。当我尝试提交我的解决方案时,google编译器显示“跳过测试集”…虽然当我在id中执行编译时,它显示正确的输出,甚至在运行到google Editory后,我得到了正确的输出,但在提交代码后,我总是得到错误,因为“跳过测试集”…不知道为什么 另一件事是,在将代码提交到google编译器或与google编码竞赛相关时,我们应该采取哪些预防措施 问:谷歌2020年第D轮启动中提出的问题 Isyana连续N天被

我是谷歌编码竞赛平台的新手。 我在练习谷歌2020年启动计划中的一些问题,下面就是这个问题。当我尝试提交我的解决方案时,google编译器显示“跳过测试集”…虽然当我在id中执行编译时,它显示正确的输出,甚至在运行到google Editory后,我得到了正确的输出,但在提交代码后,我总是得到错误,因为“跳过测试集”…不知道为什么

另一件事是,在将代码提交到google编译器或与google编码竞赛相关时,我们应该采取哪些预防措施

问:谷歌2020年第D轮启动中提出的问题

Isyana连续N天被告知在她当地的主题公园有多少游客。第i天的参观人数为Vi。如果一天同时满足以下两个条件,则该天的参观人数将创下记录: 当天的游客人数严格高于前几天的游客人数。 要么是最后一天,要么当天的游客人数严格大于第二天的游客人数。 请注意,第一天可能是破纪录的一天

请帮助Isyana了解破纪录天数


4
8
1 2 0 7 2 0 2 0
6
4 8 15 16 23 42
9
3 1 4 1 5 9 2 6 5
6
9 9 9 9 9 9

output: 
Case #1: 2
Case #2: 1
Case #3: 3
Case #4: 0
#包括
#包括
使用名称空间std;
虚空乐趣(整数n,整数v[100000],整数t)
{
整数计数=0;
int max=0;
对于(int i=0;iv[i-1]&&v[i]>v[i+1]&&maxv[1])
{ 
计数++;
max=v[0];
}
}
}

cout由于您是谷歌编码竞赛的新手,我想您可能也是编码竞赛的新手

在编码竞争中,一件重要的事情是处理边缘情况。在这里,您可以从
i=0
开始循环,但稍后可以访问
i-1
元素,不同的在线法官根据他们处理错误的方式给出不同的错误消息

同样的
i+1
元素问题

通常,如果一个测试用例在google竞赛中失败,他们不会使用计算能力将您的代码尝试到其他测试用例中,因此会跳过测试用例

注意:在一个编译器中获得正确的结果并不意味着代码正确无误。记住这一点。正如我之前所说,不同的在线评委处理错误的方式不同。有时代码传递时没有错误,但显示的结果与其他编译器显示的结果完全不同。这种情况并不罕见,而且在糟糕的编程实践中经常发生

因此,请确保边缘情况和可能的分割错误、未初始化变量和各种错误,因为在线判断不会显示错误消息


这是对竞争对手进行编码的一般建议,因为许多人会在在线评委上遇到意外消息,并在此处以混乱的状态发布。

您的
for
循环从0开始,您可以访问数组的
i-1
元素。循环结束时的i==n-1和i==n-1也有同样的问题。我不明白你在说什么……但我理解的是你试图告诉我为什么我使用这个v[i]>v[i-1]&&v[i]>v[i+1]。。。我使用这2个条件来比较当前元素中的上一个元素和下一个元素。“我不明白你在说什么…”你的循环迭代
i
0…n-1。当i==0时,您尝试访问
v[i-1]
ie
v[-1]
,这将导致UB。对于i==n-1时的最后一个值,您尝试访问具有相同问题的
v[i+1]
ie
v[n]
。我理解你为什么试图访问它们,但你这样做是错误的。所以,我应该从1开始I到n-1…好的,但是第一个和最后一个值呢。“所以,我应该从1开始I到n-1…”不正确。你需要学习你的算法。提示您不必与上一个元素进行比较-max就足够了。如果不是最后一个元素,则需要检查以下条件。
#include<ios>
#include<limits.h>
using namespace std;
void fun(int n,int v[100000],int t)
{
    int count=0;
    int max=0;
    for(int i=0;i<n;i++)
    {
        if( v[i]>v[i-1] && v[i]>v[i+1] && max<v[i])
        {
            count++;
            max=v[i];
        }
        
        if(i==0)
        {
            if(v[0]>v[1])
            { 
                count++;
                max=v[0];
            }
        }
         
    }
    cout<<"Case #"<<t<<": "<<count<<"\n";
}
int main()
{
    int n;
    int v[100000];
    int t,c;
    cin>>t;
    for(c=1;c<=t;c++)
    {
        cin>>n;
        for(int j=0;j<n;j++)
        {
            cin>>v[j];
        }
        fun(n,v,c);
    }
    return 0;
}```