对公司所有员工的年龄排序
2015-05-20 11:16
369 查看
思路
这道题其实与埃氏筛法 求素数 所用的思想是相同的,都是选取一个数组用来做标记,牺牲空间换取时间如果给定一组数,要求判定这组数中哪些数是素数,则只需要根据埃氏筛法,判断该数的标记数组是true还是false即可。
java代码:
要求:时间复杂度O(n),只允许使用常量大小的辅助空间package com.me; import java.util.Arrays; public class AgeSort { public static void main(String[] args) { int[] ages = new int[]{23,45,32,43,21,24,25,23,22,22,21}; AgeSort as = new AgeSort(); as.sortAge(ages); System.out.println(Arrays.toString(ages)); } public void sortAge(int[] ages){ int oldAge = 70; int youngAge = 17; int[] timeOfAge = new int[oldAge+1]; for(int i = youngAge; i <= oldAge; i++){ timeOfAge[i] = 0; } for(int j = 0; j < ages.length; j++){ int a = ages[j]; timeOfAge[a]++; } int index = 0; for(int i = youngAge; i <= oldAge; i++){ for(int j = 0; j < timeOfAge[i]; j++){ ages[index] = i; index++; } } } }
相关文章推荐
- Java实现对公司所有员工的年龄排序
- 对公司所有员工的年龄排序
- 剑指offer 2.4 在O(n)时间排序公司所有员工的年龄
- oracle 查询在2010/1/1入职的所有男员工并按年龄排序
- 九度OJ 题目17:所有员工年龄排序
- 公司员工的年龄排序
- 九度oj-1374-所有员工年龄排序
- 【剑指 offer】—— 为公司员工的年龄排序
- 题目1374:所有员工年龄排序
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 一个公司员工年龄统计并排序
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- 算法题目---求公司内员工的年龄排序---用空间换取时间O(n)
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 所有员工年龄排序
- 公司员工年龄的排序,时间效率为O(n)
- 【九度】题目1374:所有员工年龄排序
- 九度0J 1374 所有员工年龄排序
- 题目1374:所有员工年龄排序