C/C++---------------LeetCode第1436. 旅行終點站

旅行的終點站

  • 題目及要求
  • 哈希算法
  • 在main內使用

題目及要求

給你一份旅游線路圖,該線路圖中的旅行線路用數組 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
所有字符串均由大小寫英文字母和空格字符組成。

哈希算法

思路:我們首先使用unordered_set startCities來記錄所有出現過的起始城市,然后再次遍歷paths,對于每條路徑p,如果它的目標城市p[1]不在startCities中,即沒有作為起始城市出現過,那么直接返回該目標城市作為結果。

class Solution {
public:string destCity(vector<vector<string>>& paths) {//用于存儲所有起始城市。unordered_set<string> startCities;// 遍歷路徑數組,將每個路徑的起始城市添加到集合中。for (auto p : paths) {startCities.insert(p[0]);}// 再次遍歷路徑數組,對于每個路徑,如果目的城市在 startCities 集合中不存在,說明該城市只作為終點,沒有作為起點,因此將其作為結果返回。for (auto p : paths) {if (startCities.find(p[1]) == startCities.end()) {return p[1];}}// 如果遍歷完所有路徑后都沒有找到符合條件的目的地城市,則返回空字符串。return "";}
};

在main內使用

int main() {// 創建一個 Solution 對象Solution solution;// 創建一個包含路徑的二維字符串數組vector<vector<string>> paths = {{"A", "B"}, {"B", "C"}, {"C", "D"}, {"D", "E"}};// 調用 destCity 函數來找到目的地城市string destination = solution.destCity(paths);// 打印結果cout << "終點是: " << destination << endl;return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/163187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/163187.shtml
英文地址,請注明出處:http://en.pswp.cn/news/163187.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【SpringMVC】 參數傳遞

一.項目目錄 SpringBoot項目創建之后會生成很多目錄 刪除不需要的這四個文件/目錄 目錄 二.Spring MVC 和 MVC Spring MVC(Spring Web MVC) Spring Web MVC 是?個 Web 框架 MVC : Model View Controller 它是一種思想 , 它把一個項目分成了三個部分. View視圖層 界面顯示…

python+pytest接口自動化:token關聯登錄這樣做,阿里p8都直呼牛逼!!!

在PC端登錄公司的后臺管理系統或在手機上登錄某個APP時&#xff0c;經常會發現登錄成功后&#xff0c;返回參數中會包含token&#xff0c;它的值為一段較長的字符串&#xff0c;而后續去請求的請求頭中都需要帶上這個token作為參數&#xff0c;否則就提示需要先登錄。 這其實就…

如何在Linux系統上檢測GPU顯存和使用情況?

如何在Linux系統上檢測GPU顯存和使用情況&#xff1f; 在Linux系統上&#xff0c;你可以使用一些命令行工具來檢測GPU顯存和使用情況。以下是一些常用的方法&#xff1a; 1. 使用nvidia-smi&#xff08;僅適用于NVIDIA GPU&#xff09; 如果你使用的是NVIDIA的顯卡&#xff0…

【前端】vue3+ts+vite,el-table表格渲染記錄重復情況

給自己一個目標&#xff0c;然后堅持一段時間&#xff0c;總會有收獲和感悟&#xff01; 在使用vue的過程中&#xff0c;總會遇到一些有疑問的地方&#xff0c;總結就能夠加深印象&#xff0c;下次再出現的時候也有個參考的地方。 目錄 一、常見屬性二、重復原因三、高階用法3.…

Claude 發布2.1 版本,重大升級更新來看看有什么新功能?

11 月 23 日消息&#xff0c;OpenAI 競爭對手 Anthropic 日前推出了 Claude 2.1 聊天機器人及對應同名 AI 模型Claude 2.1&#xff0c;本文將總結Claude 2.1的主要功能。 增強的處理能力 上下文處理量大幅提升&#xff1a;Claude 2.1 現在能處理高達 200K上下文標記&#xff…

2、單片機及開發板介紹

單片機介紹 單片機&#xff0c;英文Micro Controller Unit,簡稱&#xff1a;MCU 內部集成&#xff1a;CPU、RAM(隨機存儲器)、ROM&#xff08;只讀存儲器&#xff09;、定時器、中斷系統、通訊接口等 作用&#xff1a;信息采集&#xff08;傳感器&#xff09;、處理&#xff0…

uniapp 適配部分IPhone手機底部安全距離

部分 IOS 機型&#xff0c;比如 Iphone X 的屏幕底部有一條“小黑線”區域&#xff0c;uniapp 項目中我們可以使用CSS的 env(safe-area-inset-bottom) 語句來自適配 IOS 的底部安全區域高度&#xff0c;這個語句會返回該機型的底部安全區域高度&#xff08;單位 px&#xff09;…

ffmpeg播放器實戰(播放器流程)

1.流程圖 1.main窗口創建程序窗口 程序窗口構造函數執行下面內容 2.開啟播放 3.開啟解碼 4.開啟渲染 5.反饋給ui 本文福利&#xff0c; 免費領取C音視頻學習資料包學習路線大綱、技術視頻/代碼&#xff0c;內容包括&#xff08;音視頻開發&#xff0c;面試題&#xff0c;FFmpeg…

Linux C++ 服務器端這條線怎么走?一年半能做出什么?

Linux C 服務器端這條線怎么走&#xff1f;一年半能做出什么&#xff1f; 既然你是在校學生&#xff0c;而且編程語言和數據結構的基礎還不錯&#xff0c;我認為應該在《操作系統》和《計算機體系結構》這兩門課上下功夫&#xff0c;然后才去讀編程方面的 APUE、UNP 等書。 最…

【深度學習】如何選擇神經網絡的超參數

1. 神經網絡的超參數分類 神經網路中的超參數主要包括: 1. 學習率 η 2. 正則化參數 λ 3. 神經網絡的層數 L 4. 每一個隱層中神經元的個數 j 5. 學習的回合數Epoch 6. 小批量數據 minibatch 的大小 7. 輸出神經元的編碼方式 8. 代價函數的選擇 9. 權重初始化的方法 …

C語言哈希查找

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXKEY 1000 typedef struct Info_s {int num;char name[30];int age;char addr[30]; }Info_t, *pInfo_t; //哈希函數 int hash(char *key) {int h 0…

軟件測試之安全測試

軟件安全測試是指對軟件的安全性能和安全缺陷進行檢測和評估的過程&#xff0c;目的是保證軟件的安全性和穩定性&#xff0c;防止軟件受到惡意攻擊或者泄露敏感信息。 軟件安全測試要怎么測&#xff0c;主要取決于軟件的安全需求、風險和威脅。 在這我準備了一份軟件測試視頻…

C語言--給定一個數組,把第一項的值減去第二項的值,第二項的值減去第三項的值,第三項的值減去第四項的值,依次類推。放到一個新的數組中,并打印新的數組

一.題目描述&#xff1a; 給定一個數組&#xff0c;把第一項的值減去第二項的值&#xff0c;第二項的值減去第三項的值&#xff0c;第三項的值減去第四項的值&#xff0c;依次類推。放到一個新的數組中&#xff0c;并打印新的數組。 比如&#xff1a;輸入一個數組是5&#xff…

SA實戰 ·《SpringCloud Alibaba實戰》第14章-服務網關加餐:SpringCloud Gateway核心技術

大家好,我是冰河~~ 一不小心《SpringCloud Alibaba實戰》專欄都更新到第14章了,再不上車就跟不上了,小伙伴們快跟上啊! 在《SpringCloud Alibaba實戰》專欄前面的文章中,我們實現了用戶微服務、商品微服務和訂單微服務之間的遠程調用,并且實現了服務調用的負載均衡。也基…

Nginx結合cpolar實現內網穿透多個Windows Web站點端口

文章目錄 1. 下載windows版Nginx2. 配置Nginx3. 測試局域網訪問4. cpolar內網穿透5. 測試公網訪問6. 配置固定二級子域名7. 測試訪問公網固定二級子域名 1. 下載windows版Nginx 進入官方網站(http://nginx.org/en/download.html)下載windows版的nginx 下載好后解壓進入nginx目…

[autojs]利用console實現懸浮窗日志輸出

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"開啟懸浮窗" textSize"15sp" /><button id"autoService" text"開啟無障礙服務" textSize"15sp" /><button id"…

vue中怎么根據選擇的名稱 生成印章圖片

項目中需要根據選擇的印章名稱&#xff0c;動態生成印章 &#xff0c;印章下方顯示當前的日期 代碼如下 <template><div><label for"name">選擇名稱&#xff1a;</label><select id"name" v-model"selectedName">…

技術面時,一定要掌握這3個關鍵點

前言 現在有這么多優秀的測試工程師&#xff0c;大家都知道技術面試是不可避免的一個環節&#xff0c;一般技術面試官都會通過自己的方式去考察你的技術功底與基礎理論知識。 如果你參加過一些大廠面試&#xff0c;肯定會遇到一些這樣的問題&#xff1a; 1、看你項目都用到了…

機器學習/sklearn 筆記:K-means,kmeans++,MiniBatchKMeans

1 K-means介紹 1.0 方法介紹 KMeans算法通過嘗試將樣本分成n個方差相等的組來聚類&#xff0c;該算法要求指定群集的數量。它適用于大量樣本&#xff0c;并已在許多不同領域的廣泛應用領域中使用。KMeans算法將一組樣本分成不相交的簇&#xff0c;每個簇由簇中樣本的平均值描…

為什么要寫測試用例,測試用例寫給誰看?

&#x1f4e2;專注于分享軟件測試干貨內容&#xff0c;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01;&#x1f4e2;交流討論&#xff1a;歡迎加入我們一起學習&#xff01;&#x1f4e2;資源分享&#xff1a;耗時200小時精選的「軟件測試」資…