题目
对于一个int数组,请编写一个计数排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
思路
定义一个桶,把相同的数字放到桶里,最后输出。
代码
def countingSort(self, A, n):
# write code here
minNum = min(A)
maxNum = max(A)
bucket = [0 for i in range(maxNum - minNum + 1)]
for num in A:
bucket[num - minNum] += 1
B = []
for i, num in enumerate(bucket):
while num > 0:
B.append(i + minNum)
num -= 1
return B