回溯-子集型

news/2024/11/15 11:40:02/文章来源:https://www.cnblogs.com/r1-12king/p/18299143

参考:回溯算法套路①子集型回溯【基础算法精讲 14】

ps:0-1背包也是一种子集型回溯

 

 注意:递归参数中的 i 不是第 i 个, 而是下标大于等于 i 的这部分

 

例题:

 

class Solution:     def f1(self, nums):n = len(nums)if n==0:return []ans = []path = []def dfs(i):if i == n:ans.append(path[:])return dfs(i+1)path.append(nums[i])dfs(i+1)path.pop()dfs(0)return ans

 

方法二:

 

 

ps:这里的 i 指的是枚举的起点

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:return self.f2(nums)def f2(self, nums):n = len(nums)ans = []path = []def dfs(i):ans.append(path[:])for j in range(i, n):path.append(nums[j])dfs(j+1)path.pop()dfs(0)return ans

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742614.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot按天生成日志文件

原文链接:https://blog.csdn.net/weixin_47798667/article/details/1318469421:首先再yml文件上加上配置 logging: config: classpath:logback-spring.xml2:新建一个logback-spring.xml文件文件内容是如下 <?xml version="1.0" encoding="UTF-8"?&g…

AIGC来了,你的版权还安全吗?

人工智能生成内容(AIGC)是热度居高不下,据Gartner预计,到2025年,AIGC将占全球所有生成数据的10%,以ChatGPT、Stable Diffusion为代表的现象级应用受到强势追捧,AIGC毫无疑问是强有力的生产工具,那如果人类作为创作者被工具抄袭时能够有效反击吗?无法确权和版权争议将是…

音乐相关api

网易云飙升榜 {"sourceUrl": "https://api.vvhan.com/api/wyMusic/飙升榜?type=json","command": "网易云飙升榜","dataType": "json","sendType": "audio","jsonKey": "inf…

显卡欺骗器、锁屏宝的代替品,ToDesk虚拟屏功能完美解决

主机没有显示器?远控电脑需要保持屏幕的高分辨率,但过高容易黑屏? 遇到以上情况,人们常常会使用显卡欺骗器或者锁屏宝来解决,就是让显卡认为连接了一个显示器,方便正常使用电脑。 但是这往往需要额外给电脑上插入设备,如果是突然急用就很难实现了,有没有人帮忙装显卡欺…

ToDesk云电脑进军游戏市场,真显卡高性能,新版本可暂停使用时长!

ToDesk远程控制软件在装机量突破1.5亿后,再度迎来里程碑式的发展。今年,该公司创新推出了云电脑产品,正式涉足云计算领域。这款前沿产品一经发布,便凭借其卓越的性能和使用体验赢得了广大用户的赞誉。近期,ToDesk云电脑更是迎来了重大版本更新,进一步巩固了其在云计算行业…

FastQC使用记录

1.FastQC的下载,安装 https://www.bioinformatics.babraham.ac.uk/projects/download.html#fastqc 在这里下ZIP包,这个是已经编译过的,打开设好路径就能用。 注意:FastQC使用之前记得安装好Java Development Kit (JDK),没有这个没有办法工作,会报错。 https://blog.csdn.…

protobuf-net.Grpc 笔记

众所周知,Grpc很好用,但每次都需要手动编写 *.proto 文件,protobuf-net.Grpc个人感觉最大的优势是不用写*.proto 文件,相关教程如下: https://learn.microsoft.com/zh-cn/aspnet/core/grpc/code-first?view=aspnetcore-8.0 https://protobuf-net.github.io/protobuf-net.…

keycloak~使用自定义的注册页

添加FormAction的实现 package org.keycloak.phone.authentication.forms;import org.keycloak.Config; import org.keycloak.authentication.FormAction; import org.keycloak.authentication.FormActionFactory; import org.keycloak.authentication.FormContext; import org…

1.1_3_2 三种交换的性能分析

一、电路交换性能分析电路交换主要分为三个部分——连接建立、数据传输、连接释放,电路交换的时间消耗包括:连接建立时间:在通信开始之前必须要在发送方和接收方之间建立一条专用的通信路径,这个过程中电路交换机建立、释放和接收方处理连接请求、返回应答信号都需要时间。…

NAT网络与内网穿透原理

Markdown Example.centered-text { text-align: center; font-size: 40px; font-family: "Times New Roman", Georgia, serif }NAT 网络地址转换#NAT 网络地址转换原理: 网络地址转换 (NAT) 是一种在数据包通过路由设备传输时,通过修改数据包 IP 报头中的网络地址信…