/** * 磁盘的容量单位有M、G、T,其关系为 1T = 1000G、1G = 1000M, * 如样例所示先输入磁盘的个数,再依次输入磁盘的容量大小,然后按照从小到大的顺序对磁盘容量进行排序并输出。 * 输入3 * 20M * 1T * 300G * 输出 * 20M * 300G * 1T */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); HashMap<Integer, String> map = new HashMap<>(); for (int i = 0; i < num; i++) { String s = sc.next(); // 转换后排序 map.put(sort(s), s); } List<Integer> list1 = new ArrayList<>(map.keySet()); // key排序,获取对应的value输出 Collections.sort(list1); for (Integer s : list1) { System.out.println(map.get(s)); } } public static int sort(String s) { int i = 0; if (s.charAt(s.length() - 1) == 'G') { i = Integer.valueOf(s.substring(0, s.length() - 1)) * 1000; } else if (s.charAt(s.length() - 1) == 'T') { i = Integer.valueOf(s.substring(0, s.length() - 1)) * 1000 * 1000; } else { i = Integer.valueOf(s.substring(0, s.length() - 1)); } return i; } }
华为笔试题磁盘排序
最新推荐文章于 2023-11-19 13:40:57 发布