搜狐项链调试了45分钟依然只过40%,求解答

项链不复制扫一遍应该没有问题吧,就是找不包含A~E的最大串,但是只过40%。。。难道是题目理解错了,谁有题目截图求发一下。代码如下:

void problem3(){

char input[100001];

while ( cin >> input){

int first = - 1 ;

int left = 0 ,max = 0 ,i = 0 ;

for (i = 0 ; i < strlen (input); i++){

if (input[i] >= 'A' && input[i] <= 'E' ){

if (i-left > max) max = i-left;

if (first == - 1 ) first = i-left;

left = i+ 1 ;

}

}

if (i - left > max) max = i - left;

if (first != - 1 && first + i - left > max){

max = first + i - left;

}

cout << max << endl ;

}

}

全部评论
leetcode上的mini window substring,稍微改下就行了
点赞 回复 分享
发布于 2016-09-21 21:26
我三道题都是40%。。。楼主第一和第三道是多少啊
点赞 回复 分享
发布于 2016-09-21 21:14
附一下AC的删数: void problem2(){     char mstack[ 10001 ];     char input[ 10001 ];     int r,i,top = - 1 ;     cin >> input >> r;     for (i = 0 ; i < strlen (input) && r > 0 ; i++){         if (top == - 1 ){             mstack[++top] = input[i];         } else {             while (top != - 1 && r > 0 && input[i] > mstack[top]){                 top--;                 r--;             }             mstack[++top] = input[i];         }     }     while (r-- > 0 ) top--;     for ( int j = 0 ; j <= top; j++){         cout << mstack[j];     }     while (i < strlen (input)){         cout << input[i];         i++;     }     cout << endl ; }
点赞 回复 分享
发布于 2016-09-21 18:54
恩,我也是这种思路,同ac40%
点赞 回复 分享
发布于 2016-09-21 18:49

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务