腾讯前端编程第二题求指导
腾讯第二题一直是30%,是不是思想不对啊,我统计了一共有几“堆”0,每堆有几个,然后分别+1相乘,感觉就是组合的问题,但是只A了30%
#include<stdio.h>
int main() {
int N;
int chocos[100];
int anoBox[100];
int anoPos = 0;
int countZero[50];
int cZPos = 0;
int result = 1;
scanf("%d", &N);
for(int i = 0; i < N; ++i) {
scanf("%d", &chocos[i]);
}
for(int i = 0; i < 50; ++i) {
countZero[i] = 0;
}
for(int i = 0; i < N; ++i) {
if(chocos[i] == 0) {
anoBox[anoPos] = 0;
anoPos++;
countZero[cZPos]++;
} else {
if(chocos[i - 1] == 1) {
continue;
} else {
cZPos++;
anoBox[anoPos] = 1;
anoPos++;
}
}
}
for(int i = 0; i < 50; ++i) {
if(countZero[i] != 0) {
result *= (countZero[i] + 1);
}
} for(int i = 0; i < 50 ; i++) { printf("%d ", countZero[i]); }
printf("%d", result);
return 0;
}
#腾讯##前端#
查看11道真题和解析
基恩士成长空间 453人发布