华为OD机试 - 磁盘容量排序问题详解及多语言实现(C++、Java、JavaScript、Python)
导言
在华为OD机试中,磁盘容量排序问题是一道经典的题目,考察了考生对字符串处理、容量单位转换以及稳定排序的综合理解能力。磁盘容量以 M(兆字节)、G(千兆字节)、T(太字节)为单位,按照 1T = 1024G
,1G = 1024M
的换算规则,要求对多个磁盘容量进行从小到大的排序,保证相同容量的磁盘在排序后仍然保持输入时的顺序,即稳定排序。
本题目不仅涉及字符串解析和单位换算,还要求实现稳定排序。稳定排序意味着相同大小的磁盘容量在排序后依旧保持它们在输入中的相对顺序。本文将为大家详细讲解该问题的解题思路,提供题目的多语言实现,包括 C++、Java、JavaScript 和 Python 四种主流编程语言。
题目描述
磁盘的容量单位包括M(兆字节)、G(千兆字节)和T(太字节),它们之间的换算关系为: