机场航班调度程序 - 华为OD统一考试(D卷)
OD统一考试(D卷)
分值: 100分
题解: Java / Python / C++
题目描述
XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。
但是XX市机场只有一条起飞用跑道,调度人员需要安排目前停留在机场的航班有序起飞。
为保障航班的有序起飞,调度员首先按照航空公司的缩写(航班号前2个字母)对所有航班进行排序,同一航空公司的航班再按照航班号的后4个数字进行排序最终获得安排好的航班的起飞顺序。
请编写一段代码根据输入的航班号信息帮助调度员输出航班的起飞顺序。
说明:
1、航空公司缩写排序按照从特殊符号$ & *, 0~9,A~Z
排序;
输入描述
第一行输入航班信息,多个航班号之间用逗号(“,”)分隔,输入的航班号不超过100个例如:
CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987
备注:航班号为6位长度,后4位为纯数字,不考虑存在后4位重复的场景
输出描述
CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508
示例1
输入:
CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987
输出:
CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508
说明:
输入目前停留在该机场的航班号,输出为按照调度排序后输出的有序的航班号
示例2
输入:
MU1087,CA9908,3U0045,FM1703
输出:
3U0045,CA9908,FM1703,MU1087
题解
理解了题意之后,可以直接利用排序函数
sort
,只需要根据航班号的整体顺序进行排序,因为前两个字符和后四个字符的排序顺序一致。我们可以直接利用默认的字符串排序函数来进行排序。解题思路
- 读取输入并解析为一个字符串向量。
- 直接使用标准库的
sort
函数对字符串向量进行排序。- 输出排序后的结果。
Java
import java.util.*;
/**
* @author code5bug
*/
public class Main {
public static void main(String[] args) {
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
华为OD机考(CDE卷)题库(绝对都是原题),帮助你上岸华为(已经不少小伙伴成功上岸)。提供Java、Python、C++ 三种语言的解法。每篇文章都有详细的解题步骤、代码注释详细及相关知识点的练习题。有问题,随时解答。