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

Leetcode 题解 [1436.旅行终点站](Java)

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

Leetcode 题解 [1436.旅行终点站](Java)

Leetcode 题解(每日打卡) [1436.旅行终点站]

题目链接

题目描述

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

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

思路一:

通过观察可知终点有一个特点,就是出现[x,y]中的后一位且只出现一次,故我们可以利用hashmap给他们做一个词频统计,但是不同的是,假设这个单词出现在数组的第0位,则加上1,若出现是在后一位则加上-1.最后我们只需要遍历一遍该hashmap,找到值为-1,将其键名输出即可。

代码实现
class Solution {
    public String destCity(List> paths) {
        HashMap sites = new HashMap();
        for(int i=0;i 

时间复杂度: O(n)

空间复杂度: O(n)

思路二:

采用暴力枚举的方式求解,每次用数组中的最后一个元素去与其他数组中的第一个元素进行检查,若发现有相同的元素则跳出,进入下一个循环,若无相同则输出结果。

代码实现

时间复杂度: O( n 2 n^2 n2)

空间复杂度: O(1)

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

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

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