public int[] sort(int[] arr) {
		
		int max = arr[0];
		for (int i=1; i<arr.length; i++) {
			if (max < arr[i]) {
				max = arr[i];
			}
		}
		
		int times = 0;
		do {
			times++;
		} while ((max = max / 10) > 0);
		
		List<List<Integer>> dualArr = new ArrayList<>();
		for (int i=0; i<10; i++) {
			List<Integer> que = new ArrayList<>(10);
			dualArr.add(que);
		}
		
		int mod = 0;
		for (int radix=0; radix<times; radix++) {
			for (int j=0; j<arr.length; j++) {// 分配
				mod = arr[j] % (int) Math.pow(10, radix+1) / (int) Math.pow(10, radix);
				dualArr.get(mod).add(arr[j]);
			}
			
			int arrIndex = 0;
			for (List<Integer> xque : dualArr) {//收集
				for (Integer ele : xque ) {
					arr[arrIndex++] = ele;
				}
				xque.clear();
			}
		}
		
		return arr;
	}