給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。
上排的十個數如下:
0,1,2,3,4,5,6,7,8,9
舉一個例子,
數值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0在下排出現了6次,1在下排出現了2次,
2在下排出現了1次,3在下排出現了0次....
以此類推..
//找到對應數組
bool findCounterArray(int* src, int* counts, int len) {
if (!src || len < 1) {
return false;
}
int flag = false;
while (!flag) {
flag = true;
for (int i = 0; i < N; ++i) {
int curCount = getCount(counts, N, src[i]);
if (counts[i] != curCount) {
counts[i] = curCount;
flag = false;
}
}
//無結果
if (!counts[0]) {
return false;
}
}
return true;
}