首页
/
每日頭條
/
圖文
/
leetcode經典題目三數之和
leetcode經典題目三數之和
更新时间:2026-01-13 22:42: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
推荐阅读
關于二十條優化措施相關題目(關于二十條)
關于二十條優化措施相關題目(關于二十條)
     近期,全國本土疫情呈現傳播範圍廣、傳播鍊條多、疫情波及面擴大的嚴峻複雜态勢。   據央視新聞報道,中國疾控中心有關專家26日接受總台記者專訪,進一步解讀第九版防控方案和優化調整疫情防控二十條措施。   另外,在11月26日晚上的新聞發布會上,鄭州市疫情防控指揮部社會防控部執行副部長李洪濤介紹,“相信經過我們戮力同心、克難攻堅,将實現社會面基本清零,...
2026-01-13
西域坎兒井全景圖(坎兒井在伊朗是什麼樣子)
西域坎兒井全景圖(坎兒井在伊朗是什麼樣子)
  往期文章   從俄美主戰坦克内部,看T90M和M1A1戰車的弱點   卡紮菲的“世界奇觀”——4000公裡沙漠灌溉渠,被北約炸毀   貝利亞處決地——莫斯科軍區前總部大樓探秘      在伊朗東北部的戈納巴德市(Gonabad),這裡遺留着古波斯國在2700年前,修建的地下水渠,波斯語是“卡裡茲”,意思是“排水的地下隧道”。      在阿赫門尼王朝之前...
2026-01-13
托馬斯布萊恩特封蓋濃眉(濃眉受傷的時候叫人家小甜甜)
托馬斯布萊恩特封蓋濃眉(濃眉受傷的時候叫人家小甜甜)
  在今天湖人不敵鹈鹕的比賽中,湖人替補中鋒托馬斯-布萊恩特僅僅出戰3分鐘便遭遇棄用,全場2投1中得到2分。這屬實讓人難以接受,完全不能理解漢姆的用人方式,面對鹈鹕隊的高個陣容,完全可以上托布或者加布去保護籃筐。      要知道,托布在濃眉受傷後扛起了湖人隊的内線并發揮出色,場均能夠得到15分+9籃闆+60%命中率。這期間的完美表現讓托布獲得了隊友及教練組...
2026-01-13
張赫演過什麼劇(細數演技派張赫的7部人生作品)
張赫演過什麼劇(細數演技派張赫的7部人生作品)
  最近張赫通過電視劇《金錢之花》展現了精湛演技,一起來看看他的7部人生作品吧!      1997년 드라마 ‘모델’과 1998년 그룹 지오디의 ‘어머님께’ 뮤직비디오에서 얼굴을 알린 장혁은 거친 반항아 이미지를 가진 청춘 배우였다. 하지만 장혁은 이에 멈추지 않고 연기력을 숙성시키며 청춘 배우를 넘어 액션과 고뇌를 넘나드는 만능...
2026-01-13
聖墟對楚風幫助最大的人(楚風根本不用怕太武一脈)
聖墟對楚風幫助最大的人(楚風根本不用怕太武一脈)
  聖墟是一個全新的世界,完全有别于九天十地,不管是修煉系統還是這個世界的資源,全都不一樣,這可是讓所有人感到驚歎的存在。這個世界傳聞是被石昊斬斷的世界,當初石昊要将九天十地隔絕起來的時候,那一道劍氣直接斬到了聖墟這個世界,以至于聖墟已成破損,令人心悸。而後聖墟就被大能者施展手段,陷入輪回,因此,現如今的聖墟世界,就是正在輪回中的世界,擁有無限的可能性,當然...
2026-01-13
Copyright 2023-2026 - www.tftnews.com All Rights Reserved