数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候,如果字母a遍历到,则arr[a]就可以加1了,即 arr[a]++;
问题:给你n个无序的int整型数组arr,并且这些整数的取值范围都在0-20之间,要你在 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。
public void f(int arr[]) {int[] temp = new int[21];for (int i = 0; i < arr.length; i++) {temp[arr[i]]++;}//顺序打印for (int i = 0; i < 21; i++) {for (int j = 0; j < temp[i]; j++) {System.out.println(i);}}}
