47 leetcode - Combination Sum III
来源:互联网 发布:scopus数据库免费吗 编辑:程序博客网 时间:2024/05/16 06:07
#!/usr/bin/python# -*- coding: utf-8 -*-'''Combination Sum IIIFind all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.注意:仅可以使用1~9,每个数只能用一次Example 1:Input: k = 3, n = 7 Output:[[1,2,4]]Example 2:Input: k = 3, n = 9 Output:[[1,2,6], [1,3,5], [2,3,4]]'''class Solution(object): def combinationSum3(self, k, n): """ :type k: int :type n: int :rtype: List[List[int]] """ if k == 0 or k > 45: return [] if k == 1: return [[n]] ret = [] tmp = [0] * k self.__combinationSum3(k,n,1,0,tmp,0,ret) return ret def __combinationSum3(self,k,n,next_num,sum,tmp,tmp_index,ret): if k - tmp_index > n - next_num + 1:#需要的个数 > 剩下填充的数字个数 return 0 if next_num > n - sum: #next_num比需要的数大,剩下的数肯定比n - sum大 return 0 if tmp_index == k - 1: if n - sum >= next_num and n - sum < 10: tmp[tmp_index] = n - sum ret.append(list(tmp)) return 0 for i in range(next_num,9): tmp[tmp_index] = i self.__combinationSum3(k,n,i + 1,sum + i,tmp,tmp_index + 1,ret)if __name__ == "__main__": s = Solution() print s.combinationSum3(2,18)
0 0
- 47 leetcode - Combination Sum III
- LeetCode Combination Sum III
- [LeetCode] Combination Sum III
- 【leetcode】 Combination Sum III
- [leetcode] Combination Sum III
- [leetCode] Combination Sum III
- leetcode Combination Sum III
- leetcode--Combination Sum III
- LeetCode Combination Sum III
- Leetcode: Combination Sum III
- leetcode: Combination Sum III
- 【leetcode】Combination Sum III
- Combination Sum III -- leetcode
- [Leetcode]Combination Sum III
- Leetcode: Combination Sum III
- leetcode:Combination Sum III
- LeetCode-Combination Sum III
- LeetCode----Combination Sum III
- 来自尼古拉斯的编码风格
- 一文让你读懂策略模式
- activity详解
- CCF 201612-1 中间数 JAVA实现
- 【LeetCode-229】Majority Element II(C++)
- 47 leetcode - Combination Sum III
- Android Studio快捷键之相见恨晚的操作锦集
- Linux一些常用命令
- (续)关于位运算
- 把JAVA项目部署到LINUX服务器中
- 1613-3-傅溥衍 总结《2016年12月20日》【连续第八十一天总结】
- JavaEE-JSP
- 算法 -- iOS开发用Objective_C / Swift3.0实现:直接插入排序 / 二分法插入排序 / 希尔排序
- <3>CDialog::DoModal()问题和_WIN32_WINNT