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

news2024/11/22 16:22:49

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,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.coloradmin.cn/o/2197968.html

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

相关文章

【动态规划-最长递增子序列(LIS)】力扣673.最长递增子序列的个数

给定一个未排序的整数数组 nums &#xff0c; 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列&#xff0c;分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。 示例 2: 输入: [2,2,2,2,2] 输出: 5 解释:…

基于SpringBoot在线拍卖系统【附源码】

基于SpringBoot在线拍卖系统 效果如下&#xff1a; 网站首页界面 用户登录界面 竞拍商品界面 管理员登录界面 管理员功能界图 竞拍商品界面 系统界面 订单界面 研究背景 随着社会的发展&#xff0c;信息化时代带来了各行各业的变革。电子商务已成为人们日常生活不可或缺的一…

ES(Elasticsearch)SSL集群部署

8.x后ES不在需要自行准备JDK环境&#xff0c;部署的服务包含ES、Kibana、Logstash&#xff0c;使用二进制方式部署&#xff0c;为了提高安全性&#xff0c;加密logstash、kibana及其他客户端到ES间的通信。 1、准备工作 1.1、 es无法使用root用户启动 useradd -m -s /bin/bas…

搭建安全的分析环境

分析恶意软件&#xff0c;动态行为分析是必不可少的一步&#xff0c;所有样本都必须在虚拟环境中执行&#xff0c;不可在主机上执行。因此&#xff0c;我们要需要搭建供动态分析的环境以及防止在主机运行的环境。 动态分析环境搭建 工具 虚拟机 虚拟机软件有很多&#xff0…

前端面试:项目细节重难点问题分享(17)

更多详情&#xff1a;爱米的前端小笔记&#xff08;csdn~xitujuejin~zhiHu~Baidu~小红shu&#xff09;同步更新&#xff0c;等你来看&#xff01;都是利用下班时间整理的&#xff0c;整理不易&#xff0c;大家多多&#x1f44d;&#x1f49b;➕&#x1f914;哦&#xff01;你们…

案例分享—国外ui设计优秀案例

国外企业更注重用户体验设计&#xff0c;倾向于简洁清晰的设计风格&#xff0c;以提高用户的使用体验和操作效率。他们注重“简约至上”的设计理念&#xff0c;认为简洁的设计可以减少用户的认知负担&#xff0c;提高用户的工作效率。 设计师在界面设计中往往更加注重创意性和个…

Stable Diffusion绘画 | IP角色多视图生成技巧

在游戏设计、小说推文、角色设计里面&#xff0c;很多场景都运用到IP角色的多视图。 人物角色多视图 第1步&#xff0c;输入提示词&#xff1a; 第2步&#xff0c;由于要在同一张图片中生成多角度的并排展示&#xff0c;需要修改图片的分辨率&#xff08;尤其是宽度&#xff…

Vue 3 + TypeScript + Vite + Echarts

Vue 3 TypeScript Vite Echarts 1、创建工程 npm create vitelatestcd echarts npm install npm run dev2、安装项目依赖模块 npm install types/node --save-devnpm install vue-router4npm install animate.css --save npm install gsap --savenpm install fetch --save…

LayaAir3.2正式版来了:支持鸿蒙Next系统、程序蓝图(可视化编程)等重要的功能模块...

LayaAir3.2-beta.1的版本中&#xff0c;我们已介绍了3.2是真正的全平台发布版本《LayaAir3.2来了&#xff1a;性能大幅提升、一键发布安装包、支持WebGPU、3D导航寻路、升级为真正的全平台引擎》。 在其后的beta版本迭代中&#xff0c;我们不仅及时修复了开发者们反馈的BUG&…

知识改变命运 数据结构【java对象的比较】

0&#xff1a;前言 在基本数据类型中&#xff0c;我们可以直接使用号比较是否相等&#xff0c;还记的学堆哪里时候&#xff0c;插入一个数据&#xff0c;就会与其他数据进行比较&#xff0c;当时我们传入的是Integer类型&#xff0c;在Integer类里面已经实现了compare。 如果…

Ubuntu22.04 获取docker 镜像失败如何处理

最近在使用docker 获取镜像发现 如下错误 无法正常的访问 如果能正常上网的情况下&#xff0c;可以尝试如下操作 首先进入/etc/docker/daemon.json文件 然后在里面加入下面的配置 { "registry-mirrors": ["https://docker.registry.cyou", "htt…

探索杨辉三角形的奥秘:C#实现

文章目录 杨辉三角形简介特点 C#实现杨辉三角形环境准备代码实现代码解释1. 用户输入2. 输入验证3. 初始化第一行4. 生成杨辉三角形5. 打印杨辉三角形 结论 杨辉三角形&#xff0c;也被称为帕斯卡三角形&#xff0c;是一个历史悠久且充满数学魅力的数字模式。它不仅在数学领域有…

论文速读:基于概率教师学习的域自适应目标检测

原文标题&#xff1a;Learning Domain Adaptive Object Detection with Probabilistic Teacher 中文标题&#xff1a;基于概率教师学习的域自适应目标检测 代码地址&#xff1a; GitHub - hikvision-research/ProbabilisticTeacher: An official implementation of ICML 2022 p…

【计算机毕设】springboot-家具销售电商平台(附源码)

摘 要 Abstracts 目 录 第1章 绪论 1.1课题背景 1.2研究意义 1.3研究内容 第2章 技术介绍 2 2.1相关技术 3 2.2 Java技术 3 2.3 MySQL数据库 4 2.4 Tomcat介绍 4 2.5 Spring Boot框架 5 第3章 需求分析 5 3.1需求分析概述 6 3.2可行性分析 6 3.2.1经济可行性 6 3.2.2技…

Docker:快速部署

docker安装&#xff1a; ​‌​‬&#xfeff;​&#xfeff;⁠​‍‬​‍‬‬‌​‬‬‬​&#xfeff;⁠​‍​​‌‬‌&#xfeff;​​​​​​‌​​​​⁠​‍⁠‌安装Docker - 飞书云文档 (feishu.cn) docker命令解读 docker run -d \ > --name mysql \ > -p 33…

OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【异常调测】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 基本概念 OpenHarmony LiteOS-M提供异常接管调测手段&#xff0c;…

【基础算法总结】字符串篇

目录 一&#xff0c;算法简介二&#xff0c;算法原理和代码实现14.最长公共前缀5.最长回文子串67.二进制求和43.字符串相乘 三&#xff0c;算法总结 一&#xff0c;算法简介 字符串 string 是一种数据结构&#xff0c;它一般和其他的算法结合在一起操作&#xff0c;比如和模拟&…

守护数据安全:.rmallox勒索病毒的防范与应对策略

导言 在当今这个数字化时代&#xff0c;网络空间已成为人们生活、工作和娱乐不可或缺的一部分。然而&#xff0c;随着互联网的普及和技术的飞速发展&#xff0c;网络安全问题也日益凸显&#xff0c;成为了一个全球性的挑战。其中&#xff0c;.rmallox勒索病毒作为一种恶意软件…

【linux】进程间的通信(一)

1. 了解进程通信 两个或者多个进程实现数据层面的交互 因为进程独立性的存在&#xff0c;导致进程通信成本较高&#xff08;通信需要成本&#xff09; 2. 进程间通信目的 进程间通信的本质是&#xff0c;让不同的进程看到同一份"资源"&#xff08;即同一份内存空…

基础算法之前缀和--Java实现(下)--LeetCode题解:-和为 K 的子数组 - 和可被 K 整除的子数组 -连续数组-矩阵区域和

这里是Themberfue 和为 K 的子数组 题目解析 返回子数组中所有元素的和等于给定k的个数。 算法讲解 这题好像是用滑动窗口解决&#xff0c;但其实不能&#xff0c;因为 nums 中的元素可能存在负数&#xff0c;就不能保证其单调性的性质。 用前缀和求也不易想到&#xff0c;…