美团校招2021第十场第三题
我的代码复杂度太大求大佬优化以下
#include<stdio.h>
#include<math.h>
#include<string.h>
int main() {
int j = 0;
int x0 = 0, x1[500000], M = 0;
scanf("%d", &x0);
for (int i = 0; i < x0; i++) {
scanf("%d", &x1[i]);
char x3[500000];
scanf("%s", &x3);
scanf("%d", &M);
char x4[500000];
scanf("%s", &x4);
for (int i = 0; i < M; i++) {
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'M' && x3[j] == '1') {
x3[j] = '2';
printf("%d\n", j + 1);
goto loop;
}
}
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'M' && 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' && x3[j] == '0') {
x3[j] = '1';
printf("%d\n", j + 1);
goto loop;
}
}
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'F' && x3[j] == '1') {
x3[j] = '2';
printf("%d\n", j + 1);
goto loop;
}
}
loop:;//if(j!=i){break;}
}
}
return 0;
}
#include<stdio.h>
#include<math.h>
#include<string.h>
int main() {
int j = 0;
int x0 = 0, x1[500000], M = 0;
scanf("%d", &x0);
for (int i = 0; i < x0; i++) {
scanf("%d", &x1[i]);
char x3[500000];
scanf("%s", &x3);
scanf("%d", &M);
char x4[500000];
scanf("%s", &x4);
for (int i = 0; i < M; i++) {
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'M' && x3[j] == '1') {
x3[j] = '2';
printf("%d\n", j + 1);
goto loop;
}
}
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'M' && 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' && x3[j] == '0') {
x3[j] = '1';
printf("%d\n", j + 1);
goto loop;
}
}
for ( j = 0; j < sizeof(x3); j++) {
if (x4[i] == 'F' && x3[j] == '1') {
x3[j] = '2';
printf("%d\n", j + 1);
goto loop;
}
}
loop:;//if(j!=i){break;}
}
}
return 0;
}
全部评论
相关推荐
06-04 10:32
安徽大学 单片机 实习僧和BOSS直聘都投了几十家,硬件开发,硬件测试,嵌入式都投了,全是已读不回……我现在考虑想在秋招前速成一个Linux项目,其实现在完全不知道自己要找什么方向的,只能海投了,求大佬们给点意见😭😭😭

点赞 评论 收藏
分享