首页
/
每日頭條
/
生活
/
算法的經典例題
算法的經典例題
更新时间:2025-11-30 20:15:50

算法的經典例題?給定一組不含重複元素的整數數組 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
推荐阅读
一分鐘學會學霸秘籍
一分鐘學會學霸秘籍
其實一直以來,我都執着地認為記憶力是天生的,也很不理解為什麼朋友要送孩子去記憶力學習。直到我看見她的孩子從最初背課文困難到能夠快速而長久的記憶,我才開始反思自己之前的狹隘和武斷。反思促進學習,從霁色所著的《艾賓浩斯記憶法》中,我開始真正了解...
2025-11-30
李克勤和李健身高
李克勤和李健身高
近日,香港知名歌手李克勤罕見地在社交平台上更新動态,是歌手李建帶着老婆宴請李克勤和譚詠麟,幾人吃飯聊天,氣氛很是融洽,李克勤也是配文稱:“那天晚上我們在北京的飯局實在太開心了,美酒佳肴談天說地不經不覺又吃了五六個小時,謝謝李建和嫂子的招待,...
2025-11-30
如何正确調漂才能調得好
如何正确調漂才能調得好
調漂可以說是每個釣魚人永遠都聊不完的話題。最早接觸的基本都是四部調漂法。其實步驟大家都會。但細節往往卻忽略了,下面我就來講講調漂步驟和需要注意哪些細節。第一步:重鉛找底這個步驟,你首先要确定你的鉛墜重量是遠大于你浮漂浮力的,先把浮漂拉的離鉛...
2025-11-30
航海路碧雲路附近美食團購
航海路碧雲路附近美食團購
黃浦向來是上海人首選的購物地之一,從南京路到淮海路,從外灘到新天地……老字号經典不衰,每年也不乏重磅新店入駐,小編為大家搜羅了不少好逛的首店,在這裡,你可以邂逅不一樣的購物體驗~巴黎歐萊雅Pro全球旗艦沙龍全球首家旗艦店今年9月22日,歐萊...
2025-11-30
瑜伽動作拉腘繩肌
瑜伽動作拉腘繩肌
對于練習瑜伽的初學者來說,剛開始練習瑜伽,大腿後側腘繩肌緊是很常見的事情,但是作為瑜伽初學者大腿後側腘繩肌,一定要注意不能突然進行強烈的拉伸,否則将很容易拉傷。因此,循序漸進的練習,拉伸前的充分熱身非常重要。今天給大家推薦一套拉伸大腿後側的...
2025-11-30
Copyright 2023-2025 - www.tftnews.com All Rights Reserved