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

从零开始的CPP(38)——递归与动态规划

leetcode46

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

示例 1:

输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

示例 2:

输入:nums = [0,1]
输出:[[0,1],[1,0]]

示例 3:

输入:nums = [1]
输出:[[1]]

需要记忆nums是否被用过,使用used记忆

递归终止条件:temp达到预定大小,push,返回

递推条件:没使用过的,push进temp。进下一层。递归达到最大深度后,释放最后一位。回溯都是一位一位释放的,不要着急

vector<vector<int>> permute(vector<int>& nums) {if (nums.size() == 1) {return { nums };}       vector<vector<int>> res;vector<int> temp; vector<bool> used(nums.size(), false);help(nums, res, temp,used);return res;
}
void help(vector<int>& nums, vector<vector<int>>& res, vector<int> temp, vector<bool>& used) {if (temp.size() == nums.size()) {res.push_back(temp);return;}for (int i = 0; i < nums.size(); i++) {if (!used[i]) {temp.push_back(nums[i]);used[i] = true;help(nums, res, temp, used);used[i] = false;temp.pop_back();}                       }return;
}

相关文章:

从零开始的CPP(38)——递归与动态规划

leetcode46 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&#…...

从战略到系统架构:信息系统设计的全面解析

在当今数字化时代&#xff0c;信息系统已成为企业运营、管理和创新的核心驱动力。信息系统设计的重要性不仅关乎企业的技术实现&#xff0c;更直接影响到企业的战略执行和市场竞争能力。本文将从战略视角出发&#xff0c;深入探讨信息系统设计的全过程&#xff0c;包括从战略制…...

GEE调用中国(China Land Cover Dataset,简称CLCD)1990-2022年30米分辨率的土地分类数据

博客推荐 GEE土地分类&#xff1a;中国30米年度土地覆盖产品annual China Land Cover Dataset, CLCD&#xff08;面积提取&#xff09;_30米土地利用数据gee-CSDN博客 简介 中国陆地覆盖数据集&#xff08;China Land Cover Dataset&#xff0c;简称CLCD&#xff09;是一个用…...

三十八、大数据技术之Kafka(1)

&#x1f33b;&#x1f33b; 目录 一、Kafka 概述1.1 定义1.2 消息队列1.2.1 消息队列内部实现原理1.2.2 传统消息队列的应用场景1.2.3 消息队列的两种模式 1.3 Kafka 基础架构 二、 Kafka 快速入门2.1 安装前的准备2.2 安装部署2.2.1 集群规划2.2.2 单节点或集群部署2.2.3 集群…...

将 Tcpdump 输出内容重定向到 Wireshark

在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。 通常 Wireshark 比 tcpdump 更容易分析应用层协议。 一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件&#xff0c;然后再将文件拷贝到本地工作站上用 Wireshark 分析。 还有一种更高效的方法&#xf…...

【Python蓝屏程序(管理员)】

说明&#xff1a;该程序为临摹(&#x1f600;)作品&#xff0c;源地址C蓝屏程序(非管理员) 我试图使用Python调用 NtRaiseHardError API &#xff0c;实现类似的蓝屏效果。可惜我发现Python在普通权限下&#xff0c;直接调用 NtRaiseHardError API 是不被允许的&#xff0c;因为…...

OpenGL ES->GLSurfaceView绘制图形的流程

自定义View代码 class MyGLSurfaceView(context: Context, attrs: AttributeSet) : GLSurfaceView(context, attrs), GLSurfaceView.Renderer {var mProgrem 0init {// 设置 OpenGL ES 3.0 版本setEGLContextClientVersion(3)// 设置当前类为渲染器, 注册回调接口的实现类set…...

Linux OOM Killer详解

Linux OOM Killer详解 一、概述二、OOM Killer的技术原理1. 内存区域划分2. 内存耗尽与OOM Killer触发3. 选择被杀进程的策略4. 内存回收机制5. 内存分配策略 三、OOM Killer的工作机制1. 内存压力监测2. 触发条件3. 选择被杀进程4. 终止进程 四、实际场景举例场景一&#xff1…...

2024rk(案例二)

试题二(25分) 阅读以下关于数据库缓存的叙述,在答题纸上回答问题1至问题3。 【说明】 某大型电商平台建立了一个在线 B2B 商店系统,并在全国多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现会出现很多跨仓储中心调货从而延误货物…...

小红书爆文秘籍:ChatGPT助你从0到1创造热门内容!

在小红书打造爆款文案的策略中&#xff0c;以下是一些调整和同义词替换的建议&#xff0c;以便达到文章去重的要求&#xff1a; 了解目标受众&#xff1a; 在撰写文案前&#xff0c;先深入分析目标读者的属性&#xff0c;如年龄层次、性别、爱好和购买行为。通过ChatGPT, 你能迅…...

django快速实现个人博客(附源码)

文章目录 一、工程目录组织结构二、模型及管理实现1、模型2、admin管理 三、博客展现实现1、视图实现2、模板实现 四、部署及效果五、源代码 Django作为一款成熟的Python Web开发框架提供了丰富的内置功能&#xff0c;如ORM&#xff08;对象关系映射&#xff09;、Admin管理界面…...

K8s部署篇之手动部署二进制高可用集群架构

一、系统环境初始化 一&#xff09;架构设计 所有节点都操作&#xff1a;3个master&#xff08;etcd集群三个节点&#xff09;和2个node 1、K8s服务调用如图 2、各组件说明 1、API Server 供Kubernetes API接口&#xff0c;主要处理 REST操作以及更新ETCD中的对象所有资源增删…...

【Unity/XLua】xlua自带教程示例分析(6)—— lua协程

文章目录 工具准备协程测试 工具准备 首先是工具脚本&#xff0c;一个Coroutine_Runner.cs和一个cs_coroutine.lua 前者定义了一个继承自Monobehavior的脚本组件&#xff0c;后者则使用lua去在Unity中实例化一个挂载该组件的GameObject&#xff0c;并将其设置为DontDestroyOn…...

CV目标检测概述

文章目录 目标检测概述目标检测图像分割目标检测和图像分割的区别 目标检测概述 目标检测和图像分割是计算机视觉中的两个重要任务&#xff0c;它们有着不同的目的和应用。以下是它们的简要介绍和区别&#xff1a; 目标检测 目标检测&#xff08;Object Detection&#xff0…...

如何在notebook中运行nodejs

在 Python 生态系统的推动下&#xff0c;机器学习和人工智能日益流行&#xff0c;这带来了计算笔记本的概念。这些交互式计算平台主要是为以 Python 为中心的数据科学应用而开发的&#xff0c;它们将代码、计算输出、解释性文本和多媒体合并成一个有内聚力的文档。 作为 JavaS…...

Mybatis学习-day19

Mybatis学习-day19 1. resultMap resultMap 是 MyBatis 中最复杂的元素&#xff0c;主要用于解决实体类属性名与数据库表中字段名不一致的情况&#xff0c;可以将查询结果映射成实体对象。 <resultMap id"staffAndDep" type"com.easy.bean.Staff">…...

IDEA构建SpringBoot多模块项目

前言 最近一直在思考一个问题&#xff0c;springboot的多模块项目到底是怎么运行和运作的&#xff1f; 一般我们大部分的springboot项目都是单模块的项目&#xff0c;但是如果后续有要求开发多模块的项目应该怎么处理&#xff1f;于是基于这点进行了研究。 本次文章将会带大…...

【前端】NodeJS:nvm

文章目录 1 介绍2 使用2.1 下载安装2.2 常用命令 1 介绍 nvm全称&#xff1a;Node Version Manager&#xff0c;顾名思义它是用来管理node版本的工具&#xff0c;方便切换不同版本的Node.js。 2 使用 nvm的使用非常的简单&#xff0c;跟npm的使用方法类似。 2.1 下载安装 …...

Docker网络模式及通信

一、Docker默认的网络通信 1.1 Docker安装后默认的网络设置 Docker服务器安装完成之后&#xff0c;默认在每个宿主机会生成一个名称为docker0的网卡&#xff0c;其IP地址都是172.17.0.1/16 [rootubuntu1804 ~]#apt -y install bridge-utils [rootubuntu1804 ~]#brctl show 另…...

类模板实现实现Qt click/hover自定义操作

一、场景 常常会需要实现点击/hover时修改图片&#xff0c;可能是一个QPushButton、QLabel、QToolButton…… 由于Qt bug&#xff0c;QIcon/QSS只能实现常规态、按下态的图标切换&#xff0c;hover态的图片设置无效。 解决思路无非是安装事件过滤器、自定义类并重实现事件。 …...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...