美团校招2021第十场第三题

我的代码复杂度太大求大佬优化以下
#include<stdio.h>
#include<math.h>
#include<string.h>
int main() {
 int j = 0;
int x0 = 0, x1[500000], M = 0;
scanf("%d", &amp;x0);
    for (int i = 0; i < x0; i++) {
 scanf("%d", &amp;x1[i]);
  char x3[500000];
scanf("%s", &amp;x3);
scanf("%d", &amp;M);
 char x4[500000];
scanf("%s", &amp;x4);
 for (int i = 0; i < M; i++) {
 for ( j = 0; j < sizeof(x3); j++) {
 if (x4[i] == 'M' &amp;&amp; x3[j] == '1') {
 x3[j] = '2';
printf("%d\n", j + 1);
goto loop;
 }
 }
for ( j = 0; j < sizeof(x3); j++) {
 if (x4[i] == 'M' &amp;&amp; x3[j] == '0') {
 x3[j] = '1';
printf("%d\n", j + 1);
goto loop;
}
}
 if (j != sizeof(x3)) {
break;
 }
for ( j = 0; j < sizeof(x3); j++) {
 if (x4[i] == 'F' &amp;&amp; x3[j] == '0') {
 x3[j] = '1';
  printf("%d\n", j + 1);
 goto loop;
 }
}
 for ( j = 0; j < sizeof(x3); j++) {
 if (x4[i] == 'F' &amp;&amp; x3[j] == '1') {
 x3[j] = '2';
  printf("%d\n", j + 1);
 goto loop;
 }
 }
loop:;//if(j!=i){break;}
}
 }
return 0;
}
全部评论

相关推荐

故事和酒66:假设一下,就算报了培训班,不还是要投简历,只是项目改了。那不如先写几个培训班的项目,纯靠编,然后试试有没有面试。如果真有再报也不迟,如果没有还是没有,那就不是培训班的问题了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务