排序现象随处可见,考试名次、身高排序、年龄排序、网上购物价格排序、用户访问时间排序等等。
自己在刷leetcode数组简单算法题中遇到题目如下:
此题可以有多种解法,但其中的桶排序是最快最简单有效的
- 解法一:桶排序法
public int heightChecker(int[] heights) {
// 值的范围是1 <= heights[i] <= 100,因此需要1,2,3,...,99,100,共101个桶
int[] arr = new int[101];
// 遍历数组heights,计算每个桶中有多少个元素,也就是数组heights中有多少个1,多少个2,。。。,多少个100
// 将这101个桶