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

LeetCode46. 全排列(2024秋季每日一题 57)

给定一个不含重复数字的数组 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]]

提示:

1 < = n u m s . l e n g t h < = 6 1 <= nums.length <= 6 1<=nums.length<=6
− 10 < = n u m s [ i ] < = 10 -10 <= nums[i] <= 10 10<=nums[i]<=10
nums 中的所有整数 互不相同


思路:

  • dfs 遍历每个位置可能的数字
  • 对于每个位置,枚举还没被使用的数字
  • 在当前位置填充数字,并标记当前数字已经使用过,继续递归到下一层
  • 递归完后,回溯到之前的状态,继续枚举下一个数字
  • 如果所有位置都枚举了,则将最后一层的结果加到最终结果里
class Solution {
public:vector<vector<int>> res;vector<int> ans;vector<vector<int>> permute(vector<int>& nums) {dfs(nums, 0);return res;}void dfs(vector<int>& nums, int state){if(ans.size() == nums.size()){res.push_back(ans);return;}for(int i = 0; i < nums.size(); i++){if(state >> i & 1) continue;ans.push_back(nums[i]);dfs(nums, 1 << i | state);ans.pop_back();}}
};

相关文章:

LeetCode46. 全排列(2024秋季每日一题 57)

给定一个不含重复数字的数组 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; 输入&#xff1a;nums …...

SpringBoot新闻稿件管理系统:架构与实现

3系统分析 3.1可行性分析 通过对本新闻稿件管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本新闻稿件管理系统采用SSM框架&#xff0c;JAVA作为开发语…...

MinIO讲解和java应用案例示范

一、MinIO 基本概念 1.1 什么是 MinIO&#xff1f; MinIO 是一个高性能的对象存储服务器&#xff0c;专为云原生应用设计。它支持 Amazon S3 API&#xff0c;因此可以与现有的 S3 客户端和工具集成。MinIO 主要用于存储非结构化数据&#xff0c;如图片、视频、备份文件和日志…...

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第1套 区块链系统设计与运维部分

模块一:区块链产品方案设计及系统运维(35分) 选手完成本模块的任务后,将任务中设计结果、运行代码、运行结果等截图粘贴至客户端桌面【区块链技术应用赛\重命名为工位号\模块一提交结果.docx】中对应的任务序号下。 前述: 我们收到答案后,将针对比赛的答案和样题进行解…...

yaml文件编写

Kubernetes 支持YAML和JSON格式管理资源 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式;用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化容易读懂 一&#xff0c;yaml语法格式 1.1 基本语法规则 使用空格进行缩进&#xff08;不使用制表符&#xff0…...

TOEIC 词汇专题:娱乐休闲篇

TOEIC 词汇专题&#xff1a;娱乐休闲篇 在娱乐和休闲活动中&#xff0c;我们会接触到许多特定的词汇。这些词汇涉及到活动入场、观众互动、评论等各个方面&#xff0c;帮助你在相关场景中更加自如。 1. 入场和观众 一些常用词汇帮助你轻松应对观众与入场管理相关的场景&#…...

驱动TFT-1.44寸屏(ST7735)显示器

目录 一、驱动芯片介绍 二、驱动方式 三、主函数main运行 四、完整代码下载 TFT1.44寸屏&#xff0c;搭配ST7735驱动芯片&#xff0c;是一种专为小型电子设备设计的彩色液晶显示解决方案。该屏幕采用薄膜晶体管&#xff08;TFT&#xff09;技术&#xff0c;能够实现高亮度、…...

鸿蒙HarmonyOS NEXT一多适配技术方案

鸿蒙一多是什么 HarmonyOS 系统面向多终端提供了“一次开发&#xff0c;多端部署”&#xff08;后文中简称为“一多”&#xff09;的能力&#xff0c;让开发者可以基于一种设计&#xff0c;高效构建多端可运行的应用。 一套代码工程&#xff0c;一次开发上架&#xff0c;多端按…...

golang 中map使用的一些坑

golang 中map使用的一些坑 1、使用map[string]interface{}&#xff0c;类型断言[]int失败 接收下游的数据是用json转为map[string]any go a : "{\"a\":\"1\",\"b\":[123]}" var marshal map[string]any json.Unmarshal([]byte(a), &…...

cordova 离线打包Android -Linux

背景 已有 cordova 运行环境的docker镜像&#xff1b; 需要在离线环境下执行 cordova 从创建项目到构建安装包一系列命令&#xff0c;最终生成 apk 文件。 方案 先在有网环境&#xff08;最好与离线环境的OS一致&#xff09;走一遍 cordova 创建打包工程、添加插件、添加平…...

【python】OpenCV—findContours(4.3)

文章目录 1、功能描述2、代码实现3、完整代码4、结果展示5、涉及到的库函数5.1、cv2.Canny5.2 cv2.boxPoints 6、参考 1、功能描述 找出图片中的轮廓&#xff0c;拟合轮廓外接椭圆和外接矩阵 2、代码实现 导入必要的库&#xff0c;固定好随机种子 import cv2 as cv import …...

前端通过nginx部署一个本地服务的方法

前端通过nginx部署一个本地服务的方法&#xff1a; 1.下载ngnix nginx 下载完成后解压缩后运行nginx.exe文件 2.打包你的前端项目文件 yarn build 把生成的dist文件复制出来&#xff0c;替换到nginx的html文件下 3.配置conf目录的nginx.conf文件 主要配置server监听 ser…...

Linux:防火墙和selinux对服务的影响

1-1selinux 1-1 SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序&#xff0c;因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。 1-2 SELinux是通过MAC的方式来控制管理进程&#xff0c;它控制的主体是进程&#xff0c;而目标则是…...

从 vue 源码看问题 — vue 如何进行异步更新?

前言 在上一篇 如何理解 vue 响应式&#xff1f; 中&#xff0c;了解到响应式其实是通过 Observer 类中调用 defineReactive() 即 Object.defineProperty() 方法为每个目标对象的 key&#xff08;key 对应的 value 为非数组的&#xff09; 设置 getter 和 setter 实现拦截&…...

【go从零单排】go中的基本数据类型和变量

Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 基本类型 go中的string、int、folat都可以用连接boolen可以用逻辑表达式计算 package mainimport "fmt&quo…...

标签之文字排版,图片,链接,音视频(HTML) 基础版

目录 标签之文字排版,图片,链接,音视频知识点: 练习题一: 效果: 练习题二: 效果: 标签之文字排版,图片,链接,音视频知识点: 超文本:链接 标记:标签<> 双标签 单标签 <br>//换行 <hr>//水平线 向后tab 向前shifttab html注释<!----> css /**/ …...

基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

十四届蓝桥杯STEMA考试Python真题试卷第二套第一题

来源&#xff1a;十四届蓝桥杯STEMA考试Python真题试卷第二套编程第一题 题目描述&#xff1a; 给定一个字符串&#xff0c;输出字符串中最后一个字符。 输入描述&#xff1a; 输入一个字符串 输出描述&#xff1a; 输出字符串中最后一个字符 样例输入&#xff1a; hgf 样…...

【Windows修改Docker Desktop(WSL2)内存分配大小】

记录一下遇到使用Docker Desktop占用内存居高不下的问题 自从使用了Docker Desktop&#xff0c;电脑基本每天都需要重启&#xff0c;内存完全不够用&#xff0c;从16g扩展到24&#xff0c;然后到40G&#xff0c;还是不够用&#xff1b;打开Docker Desktop 运行时间一长&#x…...

阿里云-部署CNI flannel集群网络

环境 1.一台阿里云作为k8s-master:8.130.XXX.231&#xff08;阿里云私有IP&#xff09; 2.Vmware 两个虚拟机分别作为 k8s-node1:192.168.40.131 k8s-node2:192.168.40.131 3.安装Docker 部署过程 k8s-master,k8s-node1,k8s-node2 初始操作 # 关闭防火墙 systemctl stop fi…...

【技术专题】Reloaded-II依赖循环与无限下载问题的系统性解决方案

【技术专题】Reloaded-II依赖循环与无限下载问题的系统性解决方案 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 问题场景&#xff1a;模组依赖…...

终极指南:如何为Axure RP 11快速安装中文语言包

终极指南&#xff1a;如何为Axure RP 11快速安装中文语言包 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP 11的…...

AI智能体:从概念到现实的技术演进与应用前景

AI智能体正渐渐从科幻概念转变成现实应用里的关键角色&#xff0c;这是随着人工智能技术的快速发展而出现的情况。按照2024年发布的报告来看&#xff0c;全球已经存在超过67%的企业其正在规划或者早已经部署了和AI智能体相关的项目&#xff0c;预计到2026年的时候&#xff0c;这…...

如何快速掌握缠论技术分析:通达信ChanlunX自动化插件完整指南

如何快速掌握缠论技术分析&#xff1a;通达信ChanlunX自动化插件完整指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论理论而头疼吗&#xff1f;ChanlunX通达信缠论插件为您提供了一站…...

BiliDownloader终极教程:如何轻松下载B站视频的完整指南

BiliDownloader终极教程&#xff1a;如何轻松下载B站视频的完整指南 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简&#xff0c;操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 想要永久保存B站上的精彩视…...

二维码修复工具QrazyBox:如何拯救你无法扫描的损坏二维码?

二维码修复工具QrazyBox&#xff1a;如何拯救你无法扫描的损坏二维码&#xff1f; 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾遇到过这种情况&#xff1a;一个重要的二维码因为打…...

孟加拉语作者画像基准测试:朴素贝叶斯与SVM在低资源语言NLP中的表现分析

1. 项目概述&#xff1a;当机器学习遇见孟加拉语社交媒体在社交媒体无处不在的今天&#xff0c;我们每天都会产生海量的文本数据。你有没有想过&#xff0c;仅仅通过一个人写的几段文字&#xff0c;就能大致猜出他的性别和年龄&#xff1f;这听起来有点像数字时代的“读心术”&…...

ContextMenuManager:Windows右键菜单终极优化指南

ContextMenuManager&#xff1a;Windows右键菜单终极优化指南 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 我们每天都要和Windows右键菜单打交道几十次&#…...

Appium Inspector本质是Android UI调试的视觉探针

1. 这不是“下载个工具”那么简单&#xff1a;Appium Inspector本质是Android UI调试的视觉探针很多人搜“Appium Inspector下载”&#xff0c;点开就找exe或dmg文件&#xff0c;下完双击打开&#xff0c;连设备、点Start Session——结果卡在“Waiting for device”或者弹出一…...

Hotkey Detective终极指南:3分钟定位Windows热键冲突的完整解决方案

Hotkey Detective终极指南&#xff1a;3分钟定位Windows热键冲突的完整解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...