""" 终点站 一份旅游线路图,该线路图中的旅行线路用数组表示。 其中,数组元素[city1,city2]表示该线路将会从city1直接前往icity2。 找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。 数据保证线路图会形成一条不存在循环的线路, """ def find_dest(cities): """ 寻找目的地城市。 通过分析城市列表,找到一个城市,该城市没有作为任何其他城市的出发地。 这个函数适用于解决如旅行商问题中寻找唯一目的地的问题。 参数: cities (List[List[str]]): 一个列表,其中每个元素都是一个包含两个城市名的列表, 分别代表出发城市和到达城市。 返回: str: 如果找到这样的目的地城市,返回该城市名;如果没有找到,返回None。 """ # 通过集合推导式,获取所有出发城市 from_cities = {city[0] for city in cities} # 遍历城市列表,寻找没有作为出发城市的到达城市 for city in cities: if city[1] not in from_cities: # 如果找到,立即返回该城市作为目的地城市 return city[1] # 如果遍历完毕没有找到符合条件的城市,返回None return None # 定义城市列表,每个元素包含两个城市名,代表一条从一个城市到另一个城市的路线 cities = [["B", "C"], ["D", "B"], ["C", "A"], ["A", "D"], ["C", "E"], ["A", "C"], ["E", "A"]] # 调用find_dest函数,寻找列表中的目的地城市 print(find_dest(cities))
评论前必须登录!
注册