首页
/
每日頭條
/
圖文
/
leetcode經典題目三數之和
leetcode經典題目三數之和
更新时间:2026-05-21 14:04:20

leetcode經典題目三數之和?題目來源于 LeetCode 上第 15 号問題:三數之和,下面我們就來聊聊關于leetcode經典題目三數之和?接下來我們就一起去了解一下吧!

leetcode經典題目三數之和(LeetCode第15)1

leetcode經典題目三數之和

題目來源于 LeetCode 上第 15 号問題:三數之和。

題目描述

給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a b c = 0 ?找出所有滿足條件且不重複的三元組。

題目解析

題目需要我們找出三個數且和為 0 ,那麼除了三個數全是 0 的情況之外,肯定會有負數和正數,所以一開始可以先選擇一個數,然後再去找另外兩個數,這樣隻要找到兩個數且和為第一個選擇的數的相反數就行了。也就是說需要枚舉 a 和 b ,将 c 的存入 map 即可。

需要注意的是返回的結果中,不能有有重複的結果。這樣的代碼時間複雜度是 O(n^2)。在這裡可以先将原數組進行排序,然後再遍曆排序後的數組,這樣就可以使用雙指針以線性時間複雜度來遍曆所有滿足題意的兩個數組合。

動畫描述

待補充

代碼實現

class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; sort(nums.begin(), nums.end()); if (nums.empty() || nums.back() < 0 || nums.front() > 0) return {}; for (int k = 0; k < nums.size(); k) { if (nums[k] > 0) break; if (k > 0 && nums[k] == nums[k - 1]) continue; int target = 0 - nums[k]; int i = k 1, j = nums.size() - 1; while (i < j) { if (nums[i] nums[j] == target) { res.push_back({nums[k], nums[i], nums[j]}); while (i < j && nums[i] == nums[i 1]) i; while (i < j && nums[j] == nums[j - 1]) --j; i; --j; } else if (nums[i] nums[j] < target) i; else --j; } } return res; } };

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
畫眉毛用什麼眉筆好
畫眉毛用什麼眉筆好
我們都知道化妝少不了卸妝,但卸妝是一件麻煩事。而有些妹子會問:我隻畫了眉毛能不能不卸妝呢?接下來就讓小編為大家介紹一下,隻畫眉毛是否需要卸妝吧!感興趣的朋友千萬别錯過哦!隻畫眉毛是否需要卸妝呢?有些妹子不喜歡化妝或許是追求自然美,有些本身是...
2026-05-21
新興發展科創研發總部基地
新興發展科創研發總部基地
2022年9月25日,SINOVAC科興創新産研基地落成儀式在北京大興生物醫藥産業基地舉行。該基地總投資超21億元,總建築面積15.6萬平米,本月起将陸續投入使用,以推動重組新型冠狀病毒疫苗、國家“重大新藥創制”科技重大專項——百白破脊灰H...
2026-05-21
個人信用報告中的黑名單
個人信用報告中的黑名單
個人信用信息服務平台,怎麼查個人征信記錄征信對于一個人來說是非常重要的東西,如果征信有不良記錄,會影響你的正常生活,所以保持好的征信是非常重要。一般情況下,查個人征信時間還是比較短,馬上就能知道結果,可以通過以下的方式來查詢:1、現場查詢個...
2026-05-21
如何判斷錯版币價值
如何判斷錯版币價值
什麼是錯版币呢?其實嚴格意義上來講,隻有兩種類型的錯誤才能稱得上是公認的錯版币。一種是裁剪産生的錯誤,比如福耳、位移、異形,另外一種就是印刷錯誤,比如油墨污染、漏印等情況。除了這兩種情況的情況,并不是公認的錯版币。裁剪錯誤裁剪錯誤最常見的形...
2026-05-21
sdg決賽陣容
sdg決賽陣容
KPL春季賽轉會期已經結束了,距離新賽季還有一段時間,很多觀衆都覺得沒有比賽可看有點無趣。不過最近雖然沒有KPL賽事,但還有一些平台的自建比賽,鬥魚DBL聯賽就是其中之一。DBL聯賽也擁有很多實力不俗的隊伍,包括挑戰者杯選拔賽第五名TLG,...
2026-05-21
Copyright 2023-2026 - www.tftnews.com All Rights Reserved