代码随想录 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里都放了哪些元素了
相关文章:
代码随想录 day 30
回溯总结: 相当于暴力for循环,其目的用递归控制for循环嵌套的数量。当剪枝时,就可以使得嵌套数量减少。把回溯问题抽象一颗树比较好懂。并且使得代码更简洁。 对于组合问题,什么时候需要startIndex呢? 在一个集合求组合…...
SD NAND(贴片式TF卡)坏块管理技术问答
Q1:什么是NAND的块(Block))? 每个Nand包含一个或多个Chip。Chip是可以独立执行命令并上报状态的最小单元。 每个Chip包含一个或多个plane。不同的plane间可以并发操作,不过有一些限制。 每个plane包含多block,block是最小擦除单元(擦除后为…...
学习使用js监测浏览器窗口大小变化
学习使用js监测浏览器窗口大小变化 在JavaScript中,可以通过监听resize事件来检测浏览器窗口的大小变化。以下是一个简单的示例代码,用于检测浏览器窗口大小的变化并在控制台输出新的窗口尺寸: javascript // 定义一个处理窗口大小变化的函数…...
微服务开发与实战Day02 - Docker
一、Docker快速入门 快速构建、运行、管理应用的工具 安装部署教程:Docs 1. 部署MySQL 测试连接: 镜像和容器 当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身ÿ…...
蒙层(css)
如何在 Vue 中实现一个包含图像和蒙层效果的组件?这个组件根据某个条件显示或隐藏蒙层,用于表示图像是否已读。 1. 创建基础模板 首先,我们在模板中使用 div 包裹我们的图像组件 GraphImage,并为最外层 div 设置 position: relat…...
SpringBoot前端URL访问本地磁盘文件
SpringBoot前端通过 URL访问本地磁盘文件,其实就是 SpringBoot访问web中的静态资源的处理方式。 SpringBoot 访问web中的静态资源:https://blog.csdn.net/qq_42402854/article/details/90295079 首先,我们知道浏览器访问本地磁盘文件的方式为…...
【WP】猿人学2_js混淆_动态cookie
https://match.yuanrenxue.cn/match/2 抓包分析 根据发包加密参数在cookie中 删除cookie带的m参数,重新点击其他页面,然后使用Fiddler抓包 第一个包请求没有携带m,但是后面的请求是附带了m了,所以m就是在此之间生成 查看不带…...
基于springboot实现民族婚纱预定系统项目【项目源码+论文说明】
基于springboot实现民族婚纱预定系统的设计演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本民族婚纱预定系统就是在这样的大环境下诞生,其可…...
String常用操作
String常用方法 构造字符串 常用的构造字符串有3种: 1.直接赋值String s "abcd"; 2.实例化调用构造方法String s new String("abcd"); 3.实例化传字符数组 char[] ch {a,b,c,d}; String s new String(ch);字符串比较 比较 比较的是两个…...
git: 批量删除分支
环境: window11git version 2.42.0git-bash.exe window环境下: 1. 批量删除本地 git branch |grep xxx |xargs git branch -D比如: 想批量删除本地含有 release 关键字的分支: 2. 批量删除远程 git branch -r | grep xxxx | …...
【第5章】SpringBoot实战篇之登录模式切换
文章目录 前言一、接口扩展1. LoginStorage2. LocalLoginStorage3. RedisLoginStorage4. 参数配置 二、登录相关接口改动1.登录接口2. 登录拦截器 总结 前言 前面分别介绍了本地Map和redis存储用户登录信息,但是第二天我登录就出现问题了,因为我Redis部…...
2024最新华为OD算法题目
在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。请你统计机房中最大的局域网包含的服务器个数。 输入描述 第一行输入两个正整数,n和m,…...
Redis集群方案有哪些?
今天咱们来聊聊Redis集群方案,想象一下Redis是个超级大的储物柜,里面放满了你各种各样的宝贝(数据)。但随着宝贝越来越多,一个储物柜不够用了,这时候我们就得想方设法扩大空间,还要保证找东西依…...
数字影像产业园的三大赋能:科技、创新与无限可能
数字影像产业园作为文创产业的重要载体,以科技为核心驱动力,不断推动产业的技术革新和升级。 园区内汇聚了最前沿的数字技术资源,高清摄影设备、虚拟现实技术、人工智能应用等尖端科技在这里得到广泛应用,不仅提升了生产效率&…...
枚举(enum)+联合体(union)
枚举联合 一.枚举类型1.枚举类型的声明2.枚举类型的优点3.枚举类型的使用 二.联合体1.联合体类型的声明2.联合体的特点3.相同成员的结构体和联合体对比4.联合体大小的计算5.联合体的练习(判断大小端)6.联合体节省空间例题 一.枚举类型 1.枚举类型的声明…...
postman教程-15-前置脚本
上一小节我们学习了Postman生成随机数的方法,本小节我们讲解一下Postman前置脚本的使用方法。 Postman中的前置脚本(Pre-request Script)允许你在发送请求之前运行JavaScript代码。这可以用于修改请求头、查询参数、请求体等,或者…...
AIGC会带来失业潮吗?紧紧跟时代第一步,如何学习AIGC
会,但AI淘汰的始终是跟不上时代的人。 现在很多公司都有AI培训,不仅GPT,还有Midjourney、Stable DIffusion等一系列AI工具。 像我们公司虽然今年招的少,但也会对新招的应届生统一进行AI培训。 用任正非先生的话来说就是&#x…...
C++第二十四弹---从零开始模拟STL中的list(上)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、基本结构 2、基本函数实现 2.1、默认构造函数 2.2、尾插数据 3、迭代器的封装 3.1、迭代器的基本结构 3.2、迭代器重载函数的实现 4、迭…...
大宋咨询(深圳社情民意调查)关于社情民意调查研究的内容
社情民意调查内容,是一项至关重要的社会研究活动,它涵盖了社会生活的方方面面,通过深入了解民众的需求、态度和看法,为决策提供了宝贵的参考依据。 首先,社会经济状况是社情民意调查不可或缺的一部分。这包括了对当地…...
PID算法在电机速度控制上的应用
目录 概述 1 系统硬件框架 1.1 框架介绍 1.2 硬件实物图 2 STM32Cub生成工程 2.1 软件版本信息 2.2 配置参数 编辑2.3 生成项目 3 PID算法实现 3.1 概念 3.2 代码实现 4 其他功能实现 4.1 设置电机速度 4.2 PID算法控制电机 4.3 功能函数的调用 5 测试 5.1 …...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
