python_day_5:20180720
生活随笔
收集整理的這篇文章主要介紹了
python_day_5:20180720
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
78.?子集 給定一組不含重復(fù)元素的整數(shù)數(shù)組?nums,返回該數(shù)組所有可能的子集(冪集)。 說(shuō)明:解集不能包含重復(fù)的子集。 示例: 輸入: nums = [1,2,3] 輸出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] https://leetcode-cn.com/problems/subsets/description/ 思路:獲得一個(gè)nums作為列表,n=len(nums)相當(dāng)于這個(gè)列表中元素的個(gè)數(shù)。n個(gè)元素的列表,它的組合一共有2**n種。這時(shí)聯(lián)想到二進(jìn)制表達(dá)。遍歷2**n,把每個(gè)值轉(zhuǎn)化為二進(jìn)制,就可以代表原來(lái)的nums中,相應(yīng)位置的元素要不要在結(jié)果列表中體現(xiàn)。 class Solution: def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ binnums=2**len(nums) result=[] for i in range(binnums): mask=str(bin(i)).replace('0b','') mask='0'*(len(nums)-len(mask))+mask thisone=[] for j in range(len(mask)): if mask[j]=='1': thisone.append(nums[j]) result.append(thisone) return result 59. 螺旋矩陣 II 給定一個(gè)正整數(shù)?n,生成一個(gè)包含 1 到?n2?所有元素,且元素按順時(shí)針順序螺旋排列的正方形矩陣。 https://leetcode-cn.com/problems/spiral-matrix-ii/description/ 思路:這么惡心的題目,我已經(jīng)不想多說(shuō)了,做到想吐!可能是我算法不夠好,感覺(jué)這一段就是代碼屆的苦力代表。 class Solution(object): def generateMatrix(self, n): result=[[0 for i in range(n)] for j in range(n)] numlist=[] for i in range(1,n**2+1): numlist.append(i)?? k=0 while len(numlist)>0: for item in range(k,n-k): result[k][item]=numlist[item-k] numlist=numlist[n-2*k:] for item in range(k+1,n-k): result[item][-k-1]=numlist[item-1-k] numlist=numlist[n-1-2*k:] for item in range(k+1,n-k): result[-k-1][-1-item]=numlist[item-1-k] numlist=numlist[n-1-2*k:] for item in range(k+1,n-1-k): result[-item-1][k]=numlist[item-1-k] numlist=numlist[n-2-2*k:] k+=1 return result
轉(zhuǎn)載于:https://www.cnblogs.com/codeinpy/p/9344582.html
總結(jié)
以上是生活随笔為你收集整理的python_day_5:20180720的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【贪心】雷达问题
- 下一篇: websocket python爬虫_p