首页
/
每日頭條
/
生活
/
算法的經典例題
算法的經典例題
更新时间:2026-05-26 23:02:08

算法的經典例題?給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(幂集),下面我們就來聊聊關于算法的經典例題?接下來我們就一起去了解一下吧!

算法的經典例題(每天一道算法題)1

算法的經典例題

先來看下題目

給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(幂集)。

說明:解集不能包含重複的子集。

示例:

輸入: nums = [1,2,3]

輸出:

[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]

思考過程

這道題是一道典型的考驗遞歸算法的題目,根據題目可以想到,[1,2,3]的子集是[1,2]裡面所有的子集和[1,2]裡面所有子集和3的組合加上[3]。

解題

var subsets = function(nums) { // 長度為1時結束遞歸 if (nums.length === 1) { return [[], [nums[0]]] } // 如果初始的長度就為0,則直接返回[[]] if (nums.length === 0) { return [[]] } // 取出最後一個數 const nowValue = nums.pop() // 剩下的數字做遞歸,找出剩下數字的所有子集 const childSubs = subsets(nums) // 對所有子集的長度賦值,因為這裡會在原數組上做修改,所以先記錄了原數組的長度 const subsLength = childSubs.length // 循環遍曆所有子集 for(let i = 0; i < subsLength; i ) { // 插入當前數和所有子集組合生成的新的子集 childSubs.push([...childSubs[i], nowValue]) } // 返回結果 return childSubs };

時間複雜度 O(N*2^N),生成所有子集,并複制到輸出結果中。

空間複雜度 O(N*2^N),這是子集的數量。

對于給定的任意元素,它在子集中有兩種情況,存在或者不存在(對應二進制中的 0 和 1)。因此,NN 個數字共有 2^N2N 個子集。

,
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-05-26
小米最新代言人是誰(小米用戶代言人海報發布)
小米最新代言人是誰(小米用戶代言人海報發布)
  前段時間小米公司發起我為小米代言活動,最終在本次活動中,小米共招募到9位女性代言人。而在近日這幾位代言人也完成了她們在時尚芭莎的首秀。      從小米手機官微公布的圖片可以看到,這幾位代言人身穿白衣,手拿小米最新的小米11、小米11 Ultra,造型、長相、氣質各異,俨然有種時尚女團的感覺。不過,其中卻沒有任何一個我們熟悉的明星大腕,據小米官微介紹她們...
2026-05-26
曆史上楊家将的真實記載(正史上的楊門女将)
曆史上楊家将的真實記載(正史上的楊門女将)
  楊門女将的傳說廣為人知,真實的曆史上是不是也有呢?讓小編帶您了解曆史上的楊家将,到底是不是有女将打過仗呢?   小說中,有二十二位女将,像什麼穆桂英,楊排風等,要說曆史上的楊家女将,得先從楊家男人說起,楊業楊老老将軍,有七個兒子,楊延昭,楊延玉,楊延浦,楊延訓,楊延瑰,楊延貴,楊延彬。曆史上的楊文廣就是楊延昭的兒子。其中楊延昭就是老大,有名楊六郎,宋史中...
2026-05-26
梅葆玖去世紀錄片(梅葆玖遺體告别)
梅葆玖去世紀錄片(梅葆玖遺體告别)
  梅葆玖遺體告别,今天梅葆玖先生遺體告别儀式在北京八寶山殡儀館大禮堂舉行,于魁智、李金鬥、六小齡童、雷恪生、濮存昕、餘少群等到場吊唁。梅葆玖生平回顧為什麼沒有孩子?   今日(5月3日)上午10時許,著名京劇表演藝術家、京劇大師梅蘭芳之子梅葆玖先生遺體告别儀式在北京八寶山殡儀館大禮堂舉行,于魁智、李金鬥、六小齡童、雷恪生、濮存昕、餘少群等演藝界人士以及各方...
2026-05-26
肉牛快速育肥實用技術(學會這幾招肉牛快速育肥)
肉牛快速育肥實用技術(學會這幾招肉牛快速育肥)
  強度育肥技術是肉牛中常見的快速育肥的方法,給大家提供幾個強度育肥的配方。      (1)用青貯草加精料飼喂。   小犢牛斷奶去勢後。體重約100~120公斤,用青貯草飼喂後(自由采食)供給精料每天每頭3-5公斤.日增重1.5公斤以上.10一12月齡體重達采食50--60公斤.末期又減到40-50公斤。新鮮甜菜可窖貯或堆貯。在甜菜育肥的基礎上應搭配少量幹...
2026-05-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved