日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

78. Subsets 子集

發(fā)布時(shí)間:2024/5/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 78. Subsets 子集 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

給定一組不含重復(fù)元素的整數(shù)數(shù)組?nums,返回該數(shù)組所有可能的子集(冪集)。

說明:解集不能包含重復(fù)的子集。

示例:

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

二進(jìn)制

? ? ? ?①使用兩層循環(huán),外層循環(huán)為子集個(gè)數(shù),對于集合長度為N,子集個(gè)數(shù)為。外層循環(huán)每循環(huán)一次一個(gè)子集。內(nèi)層循環(huán)用來判斷二進(jìn)制下標(biāo)為i的位置數(shù)是否為"1",如果對應(yīng)位為1,那么就輸出這個(gè)位,如果對應(yīng)位為0,那么不輸出這個(gè)位。

? ? ? ?②以集合[1,2,3]為例,N = len([1,2,3]),外層循環(huán) i 取值范圍為[0,7],內(nèi)層循環(huán)用于判斷 i 對應(yīng)二進(jìn)制下標(biāo)為j的位置是否為1。如果 (i >>j)%2為真,那么輸出此子集。

? ? ? ?③當(dāng) i =0時(shí),無論 i 對應(yīng)二進(jìn)制000右移0位,1位,還是2位,即(i>>j)%2始終為0(假),輸出空集。

? ? ? ④當(dāng) i =1時(shí), i 對應(yīng)二進(jìn)制001右移0位,即(i>>j)%2為1(真),輸出[1]。 i 對應(yīng)二進(jìn)制001右移1位為000,即(i>>j)%2為0(假),不追加。 i 對應(yīng)二進(jìn)制001右移2位為000,即(i>>j)%2為0(假),不追加。最終輸出[1]。

? ? ? ?......

? ? ?⑤當(dāng) i = 3時(shí),i 對應(yīng)二進(jìn)制011右移0位,即(i>>j)%2為1(真),輸出[1]。 i 對應(yīng)二進(jìn)制011右移1位為001,即(i>>j)%2為1(真),追加輸出[1,2]。 i 對應(yīng)二進(jìn)制011右移2位為000,即(i>>j)%2為0(假),不追加。最終輸出[1,2]。

? ? ? ?......

? ? ⑥當(dāng) i = 6時(shí),i 對應(yīng)二進(jìn)制110右移0位,即(i>>j)%2為0(假),輸出[]。 i 對應(yīng)二進(jìn)制110右移1位為011,即(i>>j)%2為1(真),追加輸出[2]。 i 對應(yīng)二進(jìn)制110右移2位為001,即(i>>j)%2為1(真),追加輸出[2,3]。最終輸出[2,3]。

? ? ⑦當(dāng) i = 7時(shí),i 對應(yīng)二進(jìn)制111右移0位,即(i>>j)%2為1(真),輸出[1]。 i 對應(yīng)二進(jìn)制111右移1位為011,即(i>>j)%2為1(真),追加輸出[1,2]。 i 對應(yīng)二進(jìn)制111右移2位為001,即(i>>j)%2為1(真),追加輸出[1,2,3]。最終輸出[1,2,3]。

Code

def subsets(self, nums: List[int]) -> List[List[int]]:length, ans = len(nums), []for i in range(2 ** length):tmp = []for j in range(length):if (i >> j) % 2:tmp.append(nums[j])ans.append(tmp)return ans

總結(jié)

以上是生活随笔為你收集整理的78. Subsets 子集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。