代码随想录 day 30

回溯总结:
相当于暴力for循环,其目的用递归控制for循环嵌套的数量。当剪枝时,就可以使得嵌套数量减少。把回溯问题抽象一颗树比较好懂。并且使得代码更简洁。

在这里插入图片描述
对于组合问题,什么时候需要startIndex呢?
在一个集合求组合时,需要startidx ;
如果是多个集合取组合,各个集合不互相影响,那么就不用startidx.

去重问题

组合总和2
题意:集合元素会有重复,但要求解集不能包含重复的组合。
去重分为:
“树枝去重”和“树层去重”
去重前一般需要排序,看是否需要排序。
在这里插入图片描述

在图中将used的变化用橘黄色标注上,可以看出在candidates[i] == candidates[i - 1]相同的情况下:

used[i - 1] == true,说明同一树枝candidates[i - 1]使用过
used[i - 1] == false,说明同一树层candidates[i - 1]使用过
电话号码的字母组合
已知手机按键代表的字母,遍历手机按键,求组合。

切割问题

[回文串切割](https://programmercarl.com/0131.%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E4%B8%B2.html)

我列出如下几个难点:

切割问题其实类似组合问题
如何模拟那些切割线
切割问题中递归如何终止
在递归循环中如何截取子串
如何判断回文
模拟切割线 ,起点是startidx , 终点是i ;
切割问题递归终止 :如果startidx到达nums.size那么就到达了终止条件
截取子串:从startidx到 i 截取。
判断回文简单。

子集问题:

子集
在树形结构中子集问题是要收集所有节点的结果,而组合问题是收集叶子节点的结果。

排列问题:

与组合问题不同的是:
另外去重和组合问题一样
每层都是从0开始搜索而不是startIndex
需要used数组记录path里都放了哪些元素了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

awdawdawd

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

Java+前端+Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码

Java前端Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码 UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能…

深度学习中torch.max函数的作用

文章目录 解释代码举例 解释 torch.max 是 PyTorch 中的一个函数,用于在张量中沿指定维度计算最大值。它有两种用法: ① 如果只提供一个输入张量,则返回该张量中的最大值和对应的索引。     ② 如果提供两个输入张量,则返回两…

【管理咨询宝藏125】超大型集团组织架构设计方案报告

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏125】超大型集团组织架构设计方案报告 【格式】PDF版本 【关键词】人力咨询、组织架构设计、流程优化 【核心观点】 - 通过组织诊断看到&#x…

Python怎么发邮件不会被拦?如何设置信息?

Python发邮件的注意事项?Python发邮件需要哪些库? 使用Python发送电子邮件是一个常见的需求。然而,有时候邮件可能会被拦截,要确保发送的邮件不被拦截,需要一些技巧和注意事项。AokSend将介绍如何使用Python发送邮件&…

用友NC BeanShell远程命令执行(CNVD-2021-30167)漏洞复现

1.简介 用友NC是一款企业级管理软件,在大中型企业广泛使用。实现建模、开发、继承、运行、管理一体化的IT解决方案信息化平台。用友 NC bsh.servlet.BshServlet目录存在远程命令执行漏洞,可通过BeanShell 执行远程命令获取服务器权限。 貌似所有版本都存…

Python邮件群发有哪些步骤?如何批量发送?

Python邮件群发的注意事项?怎么使用Python群发邮件? 使用Python进行邮件群发,不仅可以自动化流程,还可以节省大量的时间和精力。AokSend将详细介绍使用Python进行邮件群发的步骤,并在过程中提供实用的建议和注意事项。…

【第7章】SpringBoot实战篇之用户详细信息

文章目录 前言一、获取用户详细信息1. ThreadLocalUtil2. LoginInceptor3. UserController14. 测试 二、更新用户基本信息1.ValidatedGroups2.User3. UserController14. service5. 测试1. 参数校验2. 更新测试 三、更新用户头像1. UserController12. 测试 四、更新用户密码1. U…

RAD和TOT效率

最近在用CST仿真天线,如下自己建了一个倒F的蓝牙天线: 然后使用波导端口给予激励,大概仿真的S参数如下: 同时查看CST仿真效率图中发现有两个参数效率参数:RAD和TOT效率,如下: 具体是什么意思呢&…

设计模式之观察者模式ObserverPattern(十一)

一、概述 观察者模式 (Observer Pattern) 是一种行为型设计模式,又被称为发布-订阅 (Publish/Subscribe) 模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更新…

云原生架构案例分析_1.某旅行公司云原生改造

随着云计算的普及与云原生的广泛应用,越来越多的从业者、决策者清晰地认识到“云原生化将成为企业技术创新的关键要素,也是完成企业数字化转型的最短路径”。因此,具有前瞻思维的互联网企业从应用诞生之初就扎根于云端,谨慎稳重的…

2年JAVA今日头条3轮面试经历

面头条的时候已经是十月底了。大半个月没有面试,之前准备的知识点比如http状态码之类的记忆性的东西,早就忘光了。 二面的时候问了一堆状态码,全都不记得了。面试官态度很好,跟我说,你现在不记得了,说明你…

STM32远程更新

1 IAP 概述 1.1 工作原理 在应用中编程( IAP )是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网 等)进行固件升级的方式。 当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码&am…

企业级数据保护:华企盾DSC敏感内容识别与加密技术

在当今数字化时代,企业面临的数据安全挑战日益严峻。敏感数据的泄露不仅会导致经济损失,还可能损害企业的声誉和客户信任。因此,采用先进的敏感内容识别和加密技术,例如华企盾DSC敏感内容识别,对企业数据进行有效保护至…

PyCharm如何更换解析器为Anaconda,如何自己切换python环境

自己使用了Anaconda创建了一个环境: 如何在工具PyCharm中切换自定义的python环境呢? 1. 点击 设置 2. 项目:python - Python解析器 此时会发现,只有一个默认的版本。 3. 点击 添加解析器 - 添加本地解析器 4. 选择 conda 环境…

全球AI新闻速递6.6

1.伏羲升级!智能气象创新生态联盟成立。 2.微软:首个大规模大气基础模型Aurora。 3.鸿海集团:宣布在高雄建造先进算力中心,与NVIDIA在 AI 领域合作展开多方面合作。 4.全球首个全切片数字病理学模型GigaPath发布。 5.OpenAI与…

DDS自动化测试落地方案 | 怿星科技携最新技术亮相是德科技年度盛会

5月28日,怿星科技作为是德科技的重要合作伙伴亮相Keysight World Tech Day 2024。在此次科技盛会上,怿星科技不仅展示了领先的DDS自动化测试解决方案等前沿技术,还分享了在“周期短、任务重”的情况下,如何做好软件开发和测试验证…

指纹考勤机的运用办法,指纹考勤机一台多少钱

指纹考勤机的运用办法,指纹考勤机一台多少钱 通常普通的指纹考勤机仅需几十元到一百元上下,只具备单纯的打卡功能,使用体验较差;这种考勤机仅有基础的指纹打卡时间记录,拷贝需要 U 盘,整理则需人员进…

多曝光融合算法(三)cv2.createAlignMTB()多曝光图像融合的像素匹配问题

文章目录 1.cv2.createAlignMTB() 主要是计算2张图像的位移,假设位移移动不大2.多曝光图像的aline算法:median thresold bitmap原理讲解3.图像拼接算法stitch4.多曝光融合工具箱 1.cv2.createAlignMTB() 主要是计算2张图像的位移,假设位移移动…

EXCEL从图片链接获取图片

step1: 选中图片地址列 step2:开发工具→Visual Basic 文件→导入 导入我制作的脚本(代码见文章末尾) 点击excel的小图标回到表格界面。 点击【宏】 选中刚才导入的脚本,点执行,等待完成。 代码本体: Sub InsertPict…