全排列(DFS)

devtools/2024/11/13 9:42:14/

给定一个不含重复数字的数组 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 <= nums.length <= 6
  • -10 <= nums[i] <= 10
  • nums 中的所有整数 互不相同

 

class Solution {vector<vector<int>> ans;
public:vector<vector<int>> permute(vector<int>& nums) {int n=nums.size();dfs(nums, 0); return ans; }void dfs(vector<int>& nums, int i) {if (i == nums.size()) {   //当索引 i 达到 nums 的长度时,表示已生成一个完整的排列ans.push_back(nums); return;  // 返回上一级递归}for (int j = i; j < nums.size(); j++) {swap(nums[i], nums[j]);  // 将 nums[j] 放到当前排列位置 idfs(nums, i + 1);        // 递归生成下一个元素的排列swap(nums[i], nums[j]);  // 回溯,将 nums 恢复到交换前的状态}
};

 


http://www.ppmy.cn/devtools/132866.html

相关文章

unity实习生面试

北京教育中厂的成都分部 11.5 时长有28分钟 一面二面合并了 面试官人挺好的&#xff0c;也不是特别急&#xff0c;答的不是很好的问题面试官直接跳过了 顺序不是很统一 只写记得的部分 1.问了值类型和引用类型的区别 2. 问了ugui的组件有哪些 ugui有哪些优化方案 答用打图集…

软件测试(系统测试)的定位和专业:完善产品;专业;非助手;自动化

软件测试&#xff08;系统测试&#xff09;的定位 在研发流程的后端&#xff0c;测试并非无中生有的创举&#xff0c;而是从既有基础&#xff08;即“1”&#xff09;出发&#xff0c;致力于推动产品向更高层次&#xff08;即从“1”到“100”&#xff09;的跃升与完善。在这一…

Uniapp底部导航栏设置(附带PS填充图标教程)

首先需要注册和登录ifconfont官网&#xff0c;然后创建项目添加需要的图标 创建和添加图标库请参考&#xff1a;Uniapp在Vue环境中引入iconfont图标库&#xff08;详细教程&#xff09; 打开iconfont官网&#xff0c;找到之前添加的图标库&#xff0c;下载png图片 如果需要的…

深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总

文章目录 &#x1f33a;深度学习面试八股汇总&#x1f33a;前向传播与反向传播前向传播&#xff08;Forward Propagation&#xff09;反向传播&#xff08;Back Propagation&#xff09;总结 神经网络简介结构类型前馈神经网络&#xff08;Feedforward Neural Network, FFNN&am…

【JWT】Asp.Net Core中JWT刷新Token解决方案

Asp.Net Core中JWT刷新Token解决方案 前言方案一:当我们操作某个需要token作为请求头的接口时,返回的数据错误error.response.status === 401,说明我们的token已经过期了。方案二:实现用户无感知的刷新token值,我们希望当响应返回的数据是401身份过期时,响应阻拦器自动帮我…

ArcGIS Pro SDK (二十五)工作流管理器

ArcGIS Pro SDK (二十五)工作流管理器 文章目录 ArcGIS Pro SDK (二十五)工作流管理器1 如何获取管理器对象2 如何获取群组3 如何获取用户4 如何获取作业类型5 如何创建作业6 如何找到工作7 如何获取与地图关联的作业8 如何关闭作业9 如何访问和更改工作信息10 如何在作业上…

什么是python爬虫?

今天就来给大家介绍一下什么是python爬虫。 Python爬虫是一种自动化程序&#xff0c;用于在互联网上浏览和提取信息。它通过模拟人类用户访问网页的行为&#xff0c;发送HTTP请求&#xff0c;获取网页内容&#xff0c;然后解析这些内容以提取所需数据 。以下是关于Python爬虫…

使用纯HTML和CSS绘制圣诞树:打造网页中的冬日奇景

### HTML & CSS 实现节日圣诞树&#xff1a;一步步打造你的冬季主题网页 在这篇文章中&#xff0c;我们将使用纯HTML和CSS创建一棵节日圣诞树。通过简单的代码&#xff0c;您可以在网页上实现一棵带有星星、彩球装饰的圣诞树&#xff0c;为网站增添节日氛围。 ### 实现思…