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

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
推荐阅读
蘋果iphone 14 pro max26号發貨
蘋果iphone 14 pro max26号發貨
北京日報客戶端|記者袁璐9月8日,蘋果官網顯示,iPhone13降價促銷。與此同時,記者注意到,蘋果官網的iPhone11、iPhone13Pro/Max目前處于下架狀态。具體來看,iPhone13的128GB、256GB、512GB版本售...
2026-04-14
被電子眼拍了單手開車有沒有事
被電子眼拍了單手開車有沒有事
拉拉手、摸大腿被電子眼拍到會處罰嗎?我們有朋友收到過這樣的詐騙短信“XX時間,在XX地方,因你和副駕駛一女子有不雅動作,被北京交警執法設備拍照,罰款200,記3分,請于XX時間到XX交警大隊接受處理。”類似的還有很多“因你把右手放在副駕駛一...
2026-04-14
被張默打傷的童謠
被張默打傷的童謠
童謠當年為什麼被張默打?其實娛樂圈以前也發生過類似的家暴事件,但是那時候網絡并沒有現在這麼發達,沒有那麼多的鍵盤俠,所以也就沒有鬧的人盡皆知。張默那可是出了名的星二代,在娛樂圈當中的星二代很多,但是張默卻是娛樂圈星二代當中特别不争氣的一個。...
2026-04-14
中秋時節喝什麼養生茶
中秋時節喝什麼養生茶
中秋時節喝什麼養生茶?導語:中秋節寵爸攻略,送上3款“孝心茶”,營養好喝,老爸心裡定高興,下面我們就來說一說關于中秋時節喝什麼養生茶?我們一起去了解并探讨一下這個問題吧!中秋時節喝什麼養生茶導語:中秋節寵爸攻略,送上3款“孝心茶”,營養好喝...
2026-04-14
最容易讀錯的成語來了
最容易讀錯的成語來了
中國成語,曆史悠久,在漫長的演化過程中,人們難免望文生義,生吞活剝,很多成語背離了原始意義,出現成群結的“攔路典故”、“傻瓜成語”。今天小編整理了48個最容易用錯的成語,相信其中一些你肯定也用錯過!萬人空巷【解釋】:家家戶戶的人都從巷裡出來...
2026-04-14
Copyright 2023-2026 - www.tftnews.com All Rights Reserved