首页
/
每日頭條
/
圖文
/
leetcode經典題目三數之和
leetcode經典題目三數之和
更新时间:2026-03-21 00:33:10

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
推荐阅读
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
  睡前15秒瘦大腿操輕松燃脂   大腿好難瘦?大腿是很多女生公認最難減的位置,鏟除肥厚馬鞍肉、松垮大腿肉,天天做瘦腿操,2步驟就能燃燒深層脂肪,幫助鍛煉腿部肌肉!      繁忙的日常生活之中,總為了家庭、工作以及育兒等等蠟燭多頭燒,天天長時間在辦公室裡前傾盯着電腦,或是久站服務客人,導緻雖然身心疲勞,身體卻因為缺乏活動而血液循環不良,再加上不敵歲月流逝,...
2026-03-21
推薦免費的音遊(來自東方的神秘力量)
推薦免費的音遊(來自東方的神秘力量)
  《喵斯快跑》向來都是一個聯動鬼才。   在我還沉浸在它與《多娜多娜》聯動的餘韻中時,突然公布的一個新聯動,再次打了我一個措手不及,讓我回想起了那個已遺忘許久的身份——東方廚。      太美辣!   根據這一個月陸陸續續放出的聯動情報,不難看出這次聯動的“東方味兒”相當純正,不愧是“老二次元”發行商——心動發行的遊戲,怕不是内部有不少老懂哥。選擇的聯動曲...
2026-03-21
山東93歲父親(思念父親山東劉永)
山東93歲父親(思念父親山東劉永)
  #春日生活打卡季#   思念父親 文/山東 劉永 爹的脾氣不好 ,不光我知道,哥知道,小妹知道,就連娘的幾個兒媳也知道一些情況,最清楚的是俺娘。   娘總是忍氣吞聲,一輩了承受了太多太多的委屈。但是娘依然對爹非常好,慣着爹。   六七十年代,貧窮都貧窮,娘烙地瓜幹子煎餅時,總是 用水瓢和點面烙幾個面煎餅,藏在放地 瓜幹子煎餅大盆最底下,專門給爹吃。   ...
2026-03-21
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
     近日,上海市嘉定區檢察院督促該區市場監督管理局對違法改裝電動自行車履行行政監管職責的公益訴訟案例,因與公共安全相關度高,受到市民廣泛關注,獲評上海市檢察機關2020年度公益訴訟十大典型案例。   事情要從2020年5月說起。上海市檢察院經調研發現,電動自行車充電引發的火災次數日趨增加,影響公衆安全,遂在該市檢察機關開展電動自行車充電安全管理領域公益...
2026-03-21
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
  在看到 4 個月的比利牛斯犬 Angus 和活 潑的澳大利亞牧羊犬 Miller 之後,就知 道快到 Darrell Scott 的家了,兩隻狗狗會在 石子路上蹦蹦跳跳,伸出舌頭,搖着尾巴。它 們本是用來看護羊群,免受納什維爾東部 100 公裡之外在坎伯蘭高原林區的山上四處覓食的 土狼和野豬的侵擾,不過不論何時,隻要有人來, 它們都會非常高興。小狗會馬上...
2026-03-21
Copyright 2023-2026 - www.tftnews.com All Rights Reserved