41.子集

題目描述:

在這裏插入圖片描述

代碼實現:

  • 迭代法,首先初始化res爲一個二維數組,包括一個[],在迭代的過程中,依次找含有nums[0],nums[1]…的子集,與前面的子集拼接,得到新的子集。
  • 時間複雜度:O(N×2^N)
  • 值得注意的是,這裏必須聲明一個變量len來存儲res的長度,因爲在第二層循環的過程中res的長度會發生變化
/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var subsets = function(nums) {
    var res = [[]]
    for (var i = 0; i < nums.length; i++) {
        var len = res.length
        for (var j = 0; j < len; j++) {
            res.push(res[j].concat([nums[i]]))
        }
    }
    return res
};

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章