【LeetCode: 1436. 旅行终点站 | 哈希表】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 哈希表
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 1436. 旅行终点站

⛲ 题目描述

给你一份旅游线路图,该线路图中的旅行线路用数组 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
所有字符串均由大小写英文字母和空格字符组成。

🌟 求解思路&实现代码&运行结果


⚡ 哈希表

🥦 求解思路
  1. 遍历路径paths,先把所有开始城市保存到一个哈希集合setA中。
  2. 然后再次遍历 paths,如果发现结束城市的位置不在 setA 中,则立刻返回此时结束的位置。
  3. 具体实现代码如下所示:
🥦 实现代码
class Solution {public String destCity(List<List<String>> paths) {Set<String> citiesA = new HashSet<String>();for (List<String> path : paths) {citiesA.add(path.get(0));}for (List<String> path : paths) {if (!citiesA.contains(path.get(1))) {return path.get(1);}}return "";}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557873.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

面试题:Redis(一)

1. redis是单线程还是多线程&#xff1f; 2. IO多路复用听说过么&#xff1f; 3. Redis为什么快&#xff1f; 1. Redis是单线程还是多线程&#xff1f; 版本不同&#xff0c;Redis基于的架构也不同&#xff0c;所以单单问是单还是多线程并不严谨 3.x 之前 redis都是单线程 4.x …

微知-如何临时设置Linux系统时间?(date -s “2024-10-08 22:55:00“, time, hwclock, timedatectl)

背景 在tar解压包的时候经常出现时间不对&#xff0c;可以临时用date命令修改一下&#xff0c;也可以其他&#xff0c;本文主要介绍临时修改的方法 date命令修改 sudo date -s "2024-10-08 22:55:00"其他查看和修改的命令 本文只记录查看方式&#xff0c;修改的暂…

【java数据结构】ArrayList实例

【java数据结构】ArrayList实例 一、杨辉三角二、打扑克 一、杨辉三角 已知条件&#xff1a;给定行数的大小 思路&#xff1a;首先定义一个二维列表&#xff08;也可以称为集合&#xff09;&#xff0c;我们对每一列处理完&#xff0c;最后把每一列加起来&#xff0c;不就是完整…

某象异形滑块99%准确率方案

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 该文章模型已经上线ocr识别网站,欢迎测试!!,地址:http://yxlocr.nat300.top/ocr/slider/6 所谓的顶象异形滑块,是指没有采用常规的缺口,使用各种形状的缺口…

国外电商系统开发-运维系统文件上传-高级上传

如果您要上传文件到10台服务器中&#xff0c;有3台服务器的路径不是一样的&#xff0c;那么在这种情况下您就可以使用本功能&#xff0c;单独执行不一样的路径 点击【高级】上传

仿真技术入门书籍:《模拟集成电路设计与仿真》(可下载)

无论是在通信、医疗、消费电子还是工业控制领域&#xff0c;模拟集成电路都是实现复杂电子系统功能的关键。在电子工程领域&#xff0c;模拟集成电路设计是一门深奥而复杂的学科。随着技术的发展&#xff0c;设计者们需要掌握的不仅是电路设计原理&#xff0c;还包括仿真技术的…

【C语言刷力扣】1436.旅行终点站

题目&#xff1a; 解题思路&#xff1a; 两层循环查找&#xff0c;第一次循环中初始化 destination 为 path中每次旅行的终点作为最终的终点。二次循环查找当前 destination &#xff0c;若是作为某次旅行的起点&#xff0c;说明不是最后的终点。 char* destCity(char ***paths…

Tomcat服务部署、优化及多实例实验

目录 一、Tomcat的基本介绍 1. tomcat是什么&#xff1f; 2.tomcat构成组件 2.1 web容器 2.2 servlet容器 2.3 jsp容器 3. tomcat的顶层架构 4.tomcat的核心功能 5.tomcat的请求过程 6.tomcat的配置文件 二、tomcat服务部署 1. 安装jdk、设置环境变量并测试 2.安装启动t…

Windows无需管理员权限,命令轻松修改IP和DNS

哈喽大家好&#xff0c;欢迎来到虚拟化时代君&#xff08;XNHCYL&#xff09;。 “ 大家好&#xff0c;我是虚拟化时代君&#xff0c;一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…&#xff08;每天更新不间断&#xff0c;福利…

【数据分享】1901-2023年我国省市县三级逐月最高气温数据(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最高气温栅格数据&#xff08;可查看之前的文章获悉详情&#xff09;&#xff0c;该数据来源于国家青藏高原科学数据中心&#xff0c;很多小伙伴拿到数据后反馈栅格数据不太方便使用&#xff0c;问我们能不能把数据处理为更方便使用的Sh…

计算机网络:数据链路层详解

目录 一、点对点信道&#xff1a; &#xff08;1&#xff09;封装成帧 &#xff08;2&#xff09;透明传输 &#xff08;3&#xff09;差错检测 二、点对点协议 &#xff08;1&#xff09;数据链路层的特点 &#xff08;2&#xff09;PPP协议的组成 &#xff08;3&…

Vue3 使用 pinia

什么是Pinia Pinia是 Vue 的存储库&#xff0c;它允许您跨组件/页面共享状态&#xff0c;与vuex功能一样。 准备 安装 npm install pinia 或者 yarn add pinia使用 首先修改main.ts文件 main.ts import ./assets/main.cssimport { createApp } from vue import App from…

《强烈推荐一个强大的书签管理工具》

在信息爆炸的时代&#xff0c;我们每天都会浏览大量的网页&#xff0c;收藏各种各样的书签。然而&#xff0c;随着书签数量的增加&#xff0c;管理起来也变得越来越困难。这时&#xff0c;一个强大的书签管理工具就显得尤为重要。今天&#xff0c;我要向大家推荐一款备受好评的…

[控制理论]—差分变换法与双线性变换法的基本原理和代码实现

差分变换法与双线性变换法的基本原理和代码实现 1.差分变换法 差分变换法就是把微分方程中的导数用有限差分来近似等效&#xff0c;得到一个与原微分方程逼近的差分方程。 差分变换法包括后向差分与前向差分。 1.1 后向差分法 差分变换如下&#xff1a; d e ( t ) d t e…

下一个赛场见!从中网看海尔智家的全球化布局

下一个赛场见&#xff01; 我想这是每个看完中国网球公开赛女子决赛后&#xff0c;清晰又坚定的约定。正如国庆假期后&#xff0c;下一个假期见成为很多人的期待。 10月6日&#xff0c;备受瞩目的中国网球公开赛女子决赛迎来了最高光时刻并落下帷幕。 美国选手高芙获得冠军&…

如何高效开展关联方风险监控?

关联方风险监控是指对企业与其关联方之间的交易、资金往来、担保等行为进行监控&#xff0c;以识别和防范潜在的风险。以下是一些高效开展关联方风险监控的方法&#xff1a; 1.建立关联方识别机制&#xff1a; 明确关联方的定义&#xff0c;包括直接或间接控制企业的个人或实体…

一个月学会Java 第5天 控制结构

Day5 控制结构 这么叫可能有些就算有基础的人也看不懂&#xff0c;其实就是if-else、switch-case、for、while、do-while这几个&#xff0c;没基础的听到了这个也不要慌张&#xff0c;这几个是程序的基础&#xff0c;多多训练就好 第一章 顺序结构 这章其实没有什么好讲的&…

大数据新视界 --大数据大厂之 Presto 性能优化秘籍:加速大数据交互式查询

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

算法:前缀和算法模版

一维前缀和 题目 链接&#xff1a;一维前缀和模版题 思路分析 一&#xff1a;暴力O(q * N) 对于每一次询问&#xff0c;我们都可以用一个循环计算[l,r]区间内的元素和&#xff0c; 时间复杂度&#xff0c;O(q * N) 每一次计算一个区间都需要去循环一次&#xff0c;这是不是…

windows C++-创建图像处理的异步消息(二)

创建图像处理网络 此部分介绍如何创建对给定目录中的每个 JPEG (.jpg) 图像执行图像处理的异步消息块网络。 网络执行以下图像处理操作&#xff1a; 对于 Tom 创作的任何图像&#xff0c;转换为灰度。 对于任何以红色作为主色的图像&#xff0c;移除绿色和蓝色分量&#xff0…