• 40. Combination Sum II


    Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.

    Each number in candidates may only be used once in the combination.

    Note:

    • All numbers (including target) will be positive integers.
    • The solution set must not contain duplicate combinations.

    Example 1:

    Input: candidates = [10,1,2,7,6,1,5], target = 8,
    A solution set is:
    [
    [1, 7],
    [1, 2, 5],
    [2, 6],
    [1, 1, 6]
    ]

    Example 2:

    Input: candidates = [2,5,2,1,2], target = 5,
    A solution set is:
    [
    [1,2,2],
    [5]
    ]

    class Solution:
        def combinationSum2(self, candidates, target):
            """
            :type candidates: List[int]
            :type target: int
            :rtype: List[List[int]]
            """
            res = set()
            candidates.sort()
            def dfs(pos,target,s):
                if pos>=len(candidates):
                    return
                if candidates[pos]>target:
                    return
                if candidates[pos]==target:
                    res.add(tuple(s+[candidates[pos]]))
                dfs(pos+1,target-candidates[pos],s+[candidates[pos]])
                dfs(pos+1,target,s)
            dfs(0,target,[])
            return [list(i) for i in res]
    
  • 相关阅读:
    thunkify 模块
    koa框架异步返回值的操作(co,koa-compose)
    ES6 基础版迭代器
    静态类在线程中的共享问题
    AWS远程登录
    系统状体检测命令
    常用系统命令
    文本文件查看命令
    vim
    查看md5
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9792516.html
Copyright © 2020-2023  润新知