日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

两数之和(Leetcode第1题)

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两数之和(Leetcode第1题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.題目描述

2.分析

3.代碼展示


有著Leetcode夢開始的地方也是結束稱呼的第一題,我來了,這次是我第二次做這個題,第一次用的是JAVA,這次用的是C++的哈希表的做法,兩次的方法是不一樣的。

1.題目描述

2.分析

此題有兩種做法,一種是暴力解法,這里就不詳細的講了,也就是用兩個個for循環,一個個的找

代碼展示:

class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int n = nums.size();for (int i = 0; i < n; ++i) {for (int j = i + 1; j < n; ++j) {if (nums[i] + nums[j] == target) {return {i, j};}}}return {};} };

第二種(重點):哈希表

我們創建一個哈希表,對于每一個?x,我們首先查詢哈希表中是否存在?target - x,然后將?x?插入到哈希表中,即可保證不會讓?x?和自己匹配。

3.代碼展示

class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int , int> map;for (int i = 0; i < nums.size(); i++) {auto iter = map.find(target - nums[i]);//指向第一個關鍵字為key的元素if (iter != map.end()) {//判斷元素是否在容器中return {iter->second , i};//返回其地址,第一個是返回Iter值對應的地址}map[nums[i]] = i;}return {};} };

?

此題涉及到兩個c++比較重要的知識點,一個是unordered_map,另一個是auto

unordered_map具體知識可以參考一下博主:https://blog.csdn.net/weixin_43222324/article/details/112237342?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161710328416780266274066%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161710328416780266274066&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-12-112237342.first_rank_v2_pc_rank_v29&utm_term=unordered_map+

auto具體知識可以參考一下博主:https://blog.csdn.net/zyc2018/article/details/93591189?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161709694316780266254714%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161709694316780266254714&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-93591189.first_rank_v2_pc_rank_v29&utm_term=auto

作為一個小白,c++很多知識都不知道,所以就查了很多資料,把查的就展示出來一起學習。學習是一個很重要的事,是一個持續的事,不會的就查就好了,慢慢的積累。

總結

以上是生活随笔為你收集整理的两数之和(Leetcode第1题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。