首页
/
每日頭條
/
圖文
/
leetcode經典題目三數之和
leetcode經典題目三數之和
更新时间:2026-04-08 10:55:24

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-04-08
紫藤盆景的養護管理
紫藤盆景的養護管理
紫藤是一種藤本植物它具有極強的攀援能力,它的别名也非常的多。例如朱藤、葛花等。具有白色的絨毛以及會随着時間的推移而脫落這是它的一大特點。因其具有的攀援能力,在其開花的時候長繞着樹木的枝幹,紫色的花朵顯得尤為藤典雅美觀,因此常被用來制作盆景。...
2026-04-08
初十是什麼吉日好不好
初十是什麼吉日好不好
大年初十是地日,牢記“2不動、2不做”,寓意年景好,五谷豐登。農曆大年初十是地日,也是漢族民間傳統節日之一,所說的地日是中國民間認為的地日。因為有天還有地,人畜房屋都依地;米麥百谷都是生地。在這特别的日子裡,還是有很多需要講究的東西,這些民...
2026-04-08
馬匹的知識
馬匹的知識
在這個世界上是沒有真正完美的馬匹存在的。然而藉著對馬匹的解剖學及形态學的了解,你可以找到一匹你想要的馬匹,以符合你的需求,而不會因為牠的體格及先天上的限制而讓你必須與其妥協,下面所畫的是馬匹的解剖及形态的名稱,其中包含了我接下來想要讨論的部...
2026-04-08
櫻桃等級如何劃分
櫻桃等級如何劃分
五一假期,大櫻桃肯定是首選,對于送禮和自己吃,我們不論是在購物平台上,還是直播間,或者線下超市,我們普通外行人,對于櫻桃的大小并沒有太大的概念,也并不知道平時我們買的大櫻桃衛衣什麼等級,下面小編給大家科普一下。山東煙台美早大櫻桃一般我們常說...
2026-04-08
Copyright 2023-2026 - www.tftnews.com All Rights Reserved