栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

leetcode: 1436.旅行终点站

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

leetcode: 1436.旅行终点站

题目

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/destination-city

给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。

题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。

示例 1:

输入:paths = [[“London”,“New York”],[“New York”,“Lima”],[“Lima”,“Sao Paulo”]]
输出:“Sao Paulo”
解释:从 “London” 出发,最后抵达终点站 “Sao Paulo” 。本次旅行的路线是 “London” -> “New York” -> “Lima” -> “Sao Paulo” 。

示例 2:

输入:paths = [[“B”,“C”],[“D”,“B”],[“C”,“A”]]
输出:“A”
解释:所有可能的线路是:
“D” -> “B” -> “C” -> “A”.
“B” -> “C” -> “A”.
“C” -> “A”.
“A”.
显然,旅行终点站是 “A” 。

示例 3:

输入:paths = [[“A”,“Z”]]
输出:“Z”

提示:

1 <= paths.length <= 100
paths[i].length == 2
1 <= cityAi.length, cityBi.length <= 10
cityAi != cityBi
所有字符串均由大小写英文字母和空格字符组成。

解法
  • 哈希表法: 遇到这种成对出现的一般是图关系,图关系一般使用字典的方式进行对照。本文需要知道那个地点没有对应的下一个地点,那个地点即为终点。这里用字典kv表示该点及以该点为起点的个数,如果v为0则表明该地点不是起始点,则为终点。

  • python

class Solution(object):
    def destCity(self, paths):
        """
        :type paths: List[List[str]]
        :rtype: str
        """
        n = len(paths)
        d = {}
        if n == 1:
            return paths[0][-1]
        for i in range(n):
            path = paths[i]
            p1, p2 = path
            if p1 not in d:
                d[p1] = 1
            else:
                d[p1] += 1
            if p2 not in d:
                d[p2] = 0
        for k, v in d.items():
            if v == 0:
                return k
        
  • c++
class Solution {
public:
    string destCity(vector>& paths) {
        unordered_set citiesA;
        for(auto &path: paths)
        {
            citiesA.insert(path[0]);
        }
        for(auto &path: paths)
        {
            if (!citiesA.count(path[1]))
                return path[1];
        }
    return "";
    }
};
复杂度分析
  • 时间复杂度:O(n) 两次遍历

  • 空间复杂度:O(N) 一个哈希表存储

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号