news 2026/4/20 15:24:46

(新卷,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/4/17 22:48:48

(新卷,100分)- 机器人搬砖(Java JS Python C)

(新卷,100分)- 机器人搬砖&#xff08;Java & JS & Python & C&#xff09;题目描述机器人搬砖&#xff0c;一共有 N 堆砖存放在 N 个不同的仓库中&#xff0c;第 i 堆砖中有 bricks[i] 块砖头&#xff0c;要求在 8 小时内搬完。机器人每小时能搬砖的数量取决于有多…

作者头像 李华
网站建设 2026/4/18 6:59:09

使用Scikit-learn进行机器学习模型评估

SQLAlchemy是Python中最流行的ORM&#xff08;对象关系映射&#xff09;框架之一&#xff0c;它提供了高效且灵活的数据库操作方式。本文将介绍如何使用SQLAlchemy ORM进行数据库操作。目录安装SQLAlchemy核心概念连接数据库定义数据模型创建数据库表基本CRUD操作查询数据关系操…

作者头像 李华
网站建设 2026/4/19 12:50:47

开题报告基于PHP的校园OA系统

目录 项目背景系统功能模块技术选型创新点预期成果 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 项目背景 校园OA系统旨在解决传统校园办公中信息传递效率低、流程繁琐的问题。通过PHP开发&#xff0c…

作者头像 李华
网站建设 2026/4/16 19:12:00

2026广州GEO服务商甄选指南:算法精准度与转化效能测评

2026年&#xff0c;生成式AI技术进入商业化突破临界点&#xff0c;用户信息检索行为从传统搜索引擎全面转向生成式应答平台&#xff0c;AI语义建模、跨平台落地成为生成式引擎优化&#xff08;GEO&#xff09;的核心技术内核&#xff0c;向量数据库架构、检索增强生成&#xff…

作者头像 李华