腾讯前端编程第二题求指导
腾讯第二题一直是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; }
#腾讯##前端#