当前位置: 首页 > wzjs >正文

重庆沙坪坝企业网站建设联系电话申泽seo

重庆沙坪坝企业网站建设联系电话,申泽seo,玄武区网页设计培训,做一视频网站本篇基于b站灵茶山艾府。 77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]示例 2&#…

本篇基于b站灵茶山艾府。

77. 组合

给定两个整数 nk,返回范围 [1, n] 中所有可能的 k 个数的组合。

你可以按 任何顺序 返回答案。

示例 1:

输入:n = 4, k = 2
输出:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]

class Solution:def combine(self, n: int, k: int) -> List[List[int]]:# 与子集型组合唯一的区别在于path数组长度是确定的# dfs(i)表示在下标小于等于i的数组中选择k个数的组合# 1.选或不选# def dfs(i):#     nonlocal k#     if k == 0:	# 已经选完了k个数,不用再继续递归#         ans.append(path.copy())#         return#     if i == 0:#         return#     dfs(i - 1)#     k -= 1#     path.append(i)#     dfs(i - 1)#     path.pop()#     k += 1# 2.枚举选哪个数def dfs(i):nonlocal kif k == 0:ans.append(path.copy())for j in range(i, 0, -1):k -= 1path.append(j)dfs(j - 1)path.pop()k += 1path = []ans = []dfs(n)return ans


216. 组合总和 III

找出所有相加之和为 nk 个数的组合,且满足下列条件:

  • 只使用数字1到9
  • 每个数字 最多使用一次

返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

示例 1:

输入: k = 3, n = 7
输出: [[1,2,4]]
解释:
1 + 2 + 4 = 7
没有其他符合的组合了。

示例 2:

输入: k = 3, n = 9
输出: [[1,2,6], [1,3,5], [2,3,4]]
解释:
1 + 2 + 6 = 9
1 + 3 + 5 = 9
2 + 3 + 4 = 9
没有其他符合的组合了。

示例 3:

输入: k = 4, n = 1
输出: []
解释: 不存在有效的组合。
在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。

class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:# dfs(i)表示从[1,i]中选择相加之和为n的k个数的集合# 1.选/不选# def dfs(i):#     nonlocal k, n#     # 剪枝,如果最大的k个数不能构成n,那么后面怎么递归都无法得出答案#     if i >= k and n > (i + i - k + 1) * k // 2:#         return#     if k == 0 and n == 0:#         ans.append(path.copy())#         return#     if i == 0:#         return#     dfs(i - 1)  # 不选当前数字#     k -= 1#     n -= i#     path.append(i)#     dfs(i - 1)#     path.pop()#     n += i#     k += 1# 2.枚举选哪个数字def dfs(i):nonlocal k, nif i >= k and n > (i + i - k + 1) * k // 2:returnif n == 0 and k == 0:ans.append(path.copy())returnfor j in range(i, 0, -1):k -= 1n -= jpath.append(j)dfs(j - 1)n += jk += 1path.pop()path = []ans = []dfs(9)return ans


22. 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]

class Solution:def generateParenthesis(self, n: int) -> List[str]:# def(i)表示在下标大于等于i的位置中生成所有可能的有效括号组合# 什么时候可以放左括号?# 只要左括号个数小于n,都可以放# 什么时候可以放右括号?# 已经放的右括号个数小于左括号个数时,就可以放def dfs(i):nonlocal left, rightif i == n * 2:ans.append("".join(path))if left < n:# 如果可以放左括号path.append("(")left += 1dfs(i + 1)path.pop()  # 回溯left -= 1if right < left:path.append(")")right += 1dfs(i + 1)path.pop()right -= 1left = right = 0path = []ans = []dfs(0)return ansleft = right = 0path = []ans = []dfs(0)return ans# 当然也可以直接先开辟一个2*n的数组,这样就不用显示的回溯(path.pop())


http://www.dtcms.com/wzjs/31793.html

相关文章:

  • 爱网站长尾关键词挖掘工具爱站工具包怎么使用
  • 响应网站怎么做教学视频抖音指数
  • 婚庆网站开发工具seo优化关键词
  • 美女做那种视频网站有哪些厦门网站设计公司
  • 备案信息查询官网搜索引擎优化的基本原理
  • 模板站怎么改成营销型网站网站自然排名怎么优化
  • 做百度移动网站优化排昆山网站建设公司
  • 东莞品牌网站设计公司百度搜索app
  • 如何做网站焦点图免费网站生成器
  • 长沙网站建设价格天津百度快速排名优化
  • 网站空间那个好一个完整的产品运营方案
  • SUPERW上海网站建设工作室网络推广费用
  • 抚州市做棋牌网站宁波网络推广团队
  • 贵州省建设工程质量检测协会网站网站数据统计
  • 河南省建设监理协会网站seo如何优化关键词排名
  • 怎么做微信领券网站百度关键词推广2元一天
  • 温州做美食网站网站一般需要怎么推广
  • 手机网站的必要性系统优化的意义
  • 丹阳如何做百度的网站谷歌广告投放教程
  • 哪些网站做彩票预测途径搜索引擎优化的定义是什么
  • 网站建设公司品牌网站推广和网络推广
  • dede网站数据库路径关键词优化是怎样收费的
  • 做游戏和做网站哪个难北京网站建设运营
  • 惠东做网站报价电商seo名词解释
  • 厦门网站建设外贸孔宇seo
  • 通州青岛网站建设常宁seo外包
  • 百度云域名买了之后建设网站营销页面设计
  • 中山如何制作网站网站排名推广工具
  • php自己写框架做网站谷歌浏览器手机版官网下载
  • 手机网站 pc网站模板网络营销的四种形式