Google Kickstart 2014航班排序问题输入处理及代码疑问
关于Google Kickstart 2014 Round D Sort a scrambled itinerary问题的解答
函数参数处理问题
- 竞赛编程场景下,除非题目明确说明会提供预处理好的参数,否则你必须自己完成输入处理流程:
- 先读取测试用例总数
T; - 对每个测试用例,先读取航班数量
N; - 读取
N行航班数据,每行拆分出两个机场字符串,把这些数据整理成数组(比如元组列表[("A", "B"), ("B", "C")]这种格式),再传入你的核心逻辑函数。
- 先读取测试用例总数
- 官方示例里直接传入
ticket_list,是因为示例只展示核心排序逻辑,省略了输入读取和预处理的步骤,实际参赛时这部分必须自己实现。
ticket对象的first/second方法问题
- 你看到的示例里的写法是伪代码风格,不是严格的Python语法。实际在Python中,不需要定义类来存储航班信息,直接用元组或者列表就行:
- 如果用元组存储单条航班数据,比如
ticket = ("起点机场", "终点机场"),那么示例里的ticket.first()对应Python里的ticket[0],ticket.second()对应ticket[1]。
- 如果用元组存储单条航班数据,比如
- 竞赛题的示例代码常常用这种贴近面向对象的伪代码来描述逻辑,方便理解,但写Python代码时直接用基础数据结构即可,没必要额外定义类。
内容的提问来源于stack exchange,提问作者salkyna
相关产品推荐
相关产品推荐

