首页
/
每日頭條
/
生活
/
算法的經典例題
算法的經典例題
更新时间:2026-05-30 10:25:11

算法的經典例題?給定一組不含重複元素的整數數組 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
推荐阅读
溫嶺有高鐵站嗎
溫嶺有高鐵站嗎
溫嶺有高鐵站嗎?溫嶺有高鐵站溫嶺的高鐵站叫溫嶺站,位于中國浙江省台州市,是中國鐵路上海局集團有限公司甯波車務段管轄的鐵路車站,途經該車站的線路為甬台溫鐵路和杭台高速鐵路2008年12月28日,溫嶺站站房工程開工建設2009年5月8日,溫嶺站...
2026-05-30
酒家是什麼意思
酒家是什麼意思
酒家是什麼意思?酒家:jiǔjiā,釋義:酒店現多用于飯店的名稱稱酒店裡的夥計(多見于早期白話),我來為大家科普一下關于酒家是什麼意思?以下内容希望對你有幫助!酒家是什麼意思酒家:jiǔjiā,釋義:酒店。現多用于飯店的名稱。稱酒店裡的夥計...
2026-05-30
輕軌的優缺點
輕軌的優缺點
輕軌的優缺點?優點:較大程度地緩解沿線區域交通緊張矛盾,同時也起到改善投資環境和提升城市形象的積極作用;整體采用全封閉結構,并配備了閃光地圖、目的指示器、數字化信息系統、電動塞拉門等先進設備,列車可保證8年無大修;由于輕軌沿途的軌道兩側設置...
2026-05-30
逆戰自選重置卡獲得途徑
逆戰自選重置卡獲得途徑
​​先給大家沾沾喜氣。嗚哈哈哈,還有,文末有點星評價,小編求滿星言歸正傳,逆戰手機助手免費送自選碎片重置卡,具體情況如下​登陸後先點擊頭像,有一個精彩活動選項​點擊第二個“幫豆福利大更新”,然後左下角查看原文​進入後可以看見自己的幫豆數量​...
2026-05-30
成語故事大全沉魚落雁
成語故事大全沉魚落雁
長知識!這些成語原來都藏在古詩詞裡!那些曾讓我們“大聲朗讀并背誦全文”的古詩詞現在你還記得多少?學一個成語記一首詩詞※佳句賞析“折戟沉沙鐵未銷,自将磨洗認前朝。”這兩句意為折斷的戰戟沉在泥沙中并未被銷蝕,自己将它磨洗後認出是前朝遺物。在這裡...
2026-05-30
Copyright 2023-2026 - www.tftnews.com All Rights Reserved