首页
/
每日頭條
/
圖文
/
leetcode經典題目三數之和
leetcode經典題目三數之和
更新时间:2026-01-15 04:42:38

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
推荐阅读
寮步哪裡人多一點(重口味的寮步人)
寮步哪裡人多一點(重口味的寮步人)
     聽說,嗦粉一時爽,一直嗦粉一直爽   特别是那種辣得舒服,酸的過瘾   把酸與辣完美結合在一起   在重慶人的眼中,非他們酸辣粉莫屬   瞬間喚醒昏昏欲睡的得你   ///   說起廣東特色是腸粉   那重慶特色就少不了酸辣粉      在寮步,吃酸辣粉   我就會想起寮步大坣街這家八哥酸辣粉   或許對于大部分80、90後的夥伴來說對他并不陌生 ...
2026-01-15
開光的寶劍(祖傳的寶劍)
開光的寶劍(祖傳的寶劍)
  吳仁和樸義自從在墓地中盜得一把削鐵如泥的寶劍後,一直在炫耀說是祖傳寶劊,想賣個好價錢。   雖然有很多人有意購買,但他倆認為這劍太好了,想賣個天價,一直嫌欲買者出價太低,遲遲未曾出手。   不久,他倆聽說有一個住在客棧的外地人帶了十把削鐵如泥的寶劍來出售,并且價格很低,還揚言,若誰的劍比他們的鋒利願出天價購買。  ​出于好奇以及想把劍賣個好價錢,他倆就帶...
2026-01-15
浏陽不鏽鋼防火玻璃門廠家(不鏽鋼防火玻璃門廠家供應)
浏陽不鏽鋼防火玻璃門廠家(不鏽鋼防火玻璃門廠家供應)
  不鏽鋼防火玻璃門廠家供應   不鏽鋼防火玻璃門是一款具有多重功能的安全産品,它具有良好的耐火性、耐腐蝕性、隔聲性和隔熱性。作為一款新型安全産品,不鏽鋼防火玻璃門已廣泛應用于各行各業,尤其是在重要的場所如醫學教學、軍工企業、金融機構以及電信企業中得到廣泛應用。   不鏽鋼材料的特性使得不鏽鋼門能夠耐受極端的情況,如低溫、強水浸泡或強風吹掃。此外,這些材料也...
2026-01-15
海南發禁公寓令(舉例說明海南必須摁死商改住的9個原因)
海南發禁公寓令(舉例說明海南必須摁死商改住的9個原因)
  本篇文章閱讀時長約8分鐘。   昨天,本人發布的海南“禁公寓令”正式實施,商改住行不通了,公寓業主哭暈在廁所引來了無數小夥伴的信私。   信私内容主要集中在2個方面1.海南公寓禁令落地執行後,公寓的價格是漲還是跌?   2.海南公寓現在買點還是賣點?   評論區内小夥伴們更對海南公寓禁令該政策是利好還是利空争執不下今天,本人就本着以事實為根本原則的原則。...
2026-01-15
十宗罪食人慘案最後兇手(十宗罪原型雨夜屠夫)
十宗罪食人慘案最後兇手(十宗罪原型雨夜屠夫)
  1982年2月11日,香港警方在沙田城門河,發現一顆女性人頭和一雙手臂,随後調查證實是屬于22歲的夜總會上班的陳鳳蘭的,随後這宗極度兇殘的人體肢解案被曝光。      1982年8月18日,灣仔一間照相館職員代客沖照片時,發現一些恐怖肢解的彩照,于是暗中偷偷的報警。警方看過後認為确有可疑,遂暗中監視及跟蹤,拘捕了前來取相的男子,27歲的出租車司機林過雲。...
2026-01-15
Copyright 2023-2026 - www.tftnews.com All Rights Reserved