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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python两两组合求和_LeetCode-python 40.组合总和 II

發(fā)布時(shí)間:2023/12/15 python 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python两两组合求和_LeetCode-python 40.组合总和 II 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接

難度:中等 ??????類型: 深度優(yōu)先搜索

給定一個(gè)數(shù)組 candidates 和一個(gè)目標(biāo)數(shù) target ,找出 candidates 中所有可以使數(shù)字和為 target 的組合。

candidates 中的每個(gè)數(shù)字在每個(gè)組合中只能使用一次。

示例1

所求解集為:

[

[1, 7],

[1, 2, 5],

[2, 6],

[1, 1, 6]

]

示例2

輸入: candidates = [2,5,2,1,2], target = 5,

所求解集為:

[

[1,2,2],

[5]

]

解題思路

“解集不能包含重復(fù)的組合”,那就排個(gè)序,相鄰兩數(shù)相同, 到第二個(gè)就跳過,做到結(jié)果的同一位上同樣大小的數(shù)只使用一個(gè),

剩下的和39.組合總和一致

代碼實(shí)現(xiàn)

class Solution(object):

def combinationSum2(self, candidates, target):

"""

:type candidates: List[int]

:type target: int

:rtype: List[List[int]]

"""

c = sorted(candidates)

res = []

len_c = len(c)

def dfs(target, index, path):

if target == 0:

res.append(path)

return

for i in range(index, len_c):

if i>index and c[i] == c[i-1]:

continue

if c[i]>target:

break

dfs(target-c[i], i+1, path+[c[i]])

dfs(target, 0, [])

return res

總結(jié)

以上是生活随笔為你收集整理的python两两组合求和_LeetCode-python 40.组合总和 II的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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