根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數

給你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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章