news 2026/6/19 13:30:29

(新卷,100分)- 机场航班调度程序(Java JS Python C)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(新卷,100分)- 机场航班调度程序(Java JS Python C)

(新卷,100分)- 机场航班调度程序(Java & JS & Python & C)

题目描述

XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。

但是XX市机场只有一条起飞跑道,调度人员需要安排目前停留在机场的航班有序起飞。

为保障航班的有序起飞,调度员首先按照航空公司的缩写(航班号前2个字母)对所有航班进行排序,同一航空公司的航班再按照航班号的后4个数字进行排序,最终获得安排好的航班的起飞顺序。

请编写一段代码根据输入的航班号信息帮助调度员输出航班的起飞顺序。

说明:

航空公司缩写排序按照从特殊符号$ & *,0~9,A~Z排序;

输入描述

第一行输入航班信息,多个航班号之间用逗号 "," 分隔,输入的航班号不超过100个。

例如:

CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987

备注:

航班号为6为长度,后4位位纯数字,不考虑存在后4位重复的场景。

输出描述

CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508

用例
输入CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987
输出CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508
说明输入为目前停留在该机场的航班号,输出为按照调度排序后输出的有序的航班号
输入MU1087,CA9908,3U0045,FM1703
输出3U0045,CA9908,FM1703,MU1087
说明
题目解析
JS算法源码
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { const flights = (await readline()).split(","); flights.sort((a, b) => { const abbr1 = a.slice(0, 2); const num1 = a.slice(2); const abbr2 = b.slice(0, 2); const num2 = b.slice(2); if (abbr1 == abbr2) { return strcmp(num1, num2); } else { return strcmp(abbr1, abbr2); } }); console.log(flights.join(",")); })(); function strcmp(a, b) { if (a > b) { return 1; } else if (a < b) { return -1; } else { return 0; } }
Java算法源码
import java.util.Arrays; import java.util.Scanner; import java.util.StringJoiner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] flights = sc.nextLine().split(","); StringJoiner sj = new StringJoiner(","); Arrays.stream(flights) .sorted( (a, b) -> { String abbr1 = a.substring(0, 2); String num1 = a.substring(2); String abbr2 = b.substring(0, 2); String num2 = b.substring(2); if (abbr1.equals(abbr2)) { return num1.compareTo(num2); } else { return abbr1.compareTo(abbr2); } }) .forEach(sj::add); System.out.println(sj); } }
Python算法源码
flights = input().split(",") flights.sort(key=lambda x: (x[0:2], x[2:])) print(",".join(flights))
C算法源码
#include <stdio.h> #include <string.h> #include <stdlib.h> int cmp(const void *a, const void *b) { char *A = (char *) a; char *B = (char *) b; char abbr1[3]; strncpy(abbr1, A, 2); char num1[5]; strncpy(num1, A+2, 4); char abbr2[3]; strncpy(abbr2, B, 2); char num2[5]; strncpy(num2, B+2, 4); int res = strcmp(abbr1, abbr2); if(res == 0) { return strcmp(num1, num2); } else { return res; } } int main() { char s[1000]; gets(s); char flights[100][7]; int flights_size = 0; char *token = strtok(s, ","); while (token != NULL) { strcpy(flights[flights_size++], token); token = strtok(NULL, ","); } qsort(flights, flights_size, sizeof(flights[0]), cmp); for (int i = 0; i < flights_size; i++) { printf("%s", flights[i]); if (i != flights_size - 1) { printf(","); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:53:18

(新卷,100分)- 计算礼品发放的最小分组数目(Java JS Python)

(新卷,100分)- 计算礼品发放的最小分组数目&#xff08;Java & JS & Python&#xff09; 题目描述 又到了一年的末尾&#xff0c;项目组让小明负责新年晚会的小礼品发放工作。 为使得参加晚会的同事所获得的小礼品价值相对平衡&#xff0c;需要把小礼品根据价格进行…

作者头像 李华
网站建设 2026/6/10 12:52:46

基于C++的游戏引擎开发

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value)&#xff1a;查找第一个等于 value 的元素&#xff0c;返回迭代器&#xff08;未找到返回 end&#xff09;。find_if(begin, end, predicate)&#xff1a;查找第…

作者头像 李华
网站建设 2026/6/17 7:26:29

蜜度与大象融媒达成战略合作 共筑AI时代舆情管理新生态

蜜度与大象融媒达成战略合作 共筑AI时代舆情管理新生态1月22日&#xff0c;“数智中国・舆情新生态峰会暨AI时代省级媒体舆情工作研讨会”在河南大象融媒体集团&#xff08;以下简称“大象融媒”&#xff09;举办。蜜度与大象融媒及其旗下大象舆情研究院签署两项合作协议&#…

作者头像 李华
网站建设 2026/5/28 19:09:39

【课程设计/毕业设计】基于ssm的电子商务平台的设计与实现电子商务交易系统的设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/12 14:51:30

高性能文本处理库

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value)&#xff1a;查找第一个等于 value 的元素&#xff0c;返回迭代器&#xff08;未找到返回 end&#xff09;。find_if(begin, end, predicate)&#xff1a;查找第一个满…

作者头像 李华