LeetCode46. Permutations

文章目录

    • 一、题目
    • 二、题解

一、题目

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

Example 1:

Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Example 2:

Input: nums = [0,1]
Output: [[0,1],[1,0]]
Example 3:

Input: nums = [1]
Output: [[1]]

Constraints:

1 <= nums.length <= 6
-10 <= nums[i] <= 10
All the integers of nums are unique.

二、题解

class Solution {
public:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& nums,vector<int>& used){if(path.size() == nums.size()){res.push_back(path);return;}for(int i = 0;i < nums.size();i++){if(used[i] == 1) continue;used[i] = 1;path.push_back(nums[i]);backtracking(nums,used);path.pop_back();used[i] = 0;}}vector<vector<int>> permute(vector<int>& nums) {int n = nums.size();vector<int> used(n,0);backtracking(nums,used);return res;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP echo和print 语句

PHP 是通过 print 和 echo 语句来动态输出 HTML 内容&#xff0c;虽然 print 和 echo 语句两者的功能几乎是完全一样&#xff0c;但是还是有一点差别的。 在 PHP 中有两个基本的输出方式&#xff1a; echo 和 print。 本章节中我们会详细讨论两个语句的用法&#xff0c;并在实…

过渡曲线的构造之平面PH曲线

平面PH曲线的构造及其相应性质 平面PH曲线的构造及其相应性质PH曲线理论三次PH曲线的构造及性质四次PH曲线的构造及性质五次PH曲线的构造及性质非尖点五次PH曲线尖点五次PH曲线 参考文献 平面PH曲线的构造及其相应性质 过渡曲线常需要满足在连接点处位置连续、曲率连续以及切线…

Docker exec命令

docker exec &#xff1a;在运行的容器中执行命令。 语法&#xff1a; docker exec [OPTIONS] CONTAINER COMMAND [ARG...]OPTIONS说明&#xff1a; -d&#xff1a;分离模式&#xff1a; 在后台运行 -i&#xff1a;即使没有附加也保持STDIN打开 -t&#xff1a;分配一个伪终…

韵达快递查询,韵达快递单号查询,一键筛选出单号中的退回件

批量查询韵达快递单号的物流信息&#xff0c;并将其中的退回件一键筛选出来。 所需工具&#xff1a; 一个【快递批量查询高手】软件 韵达快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;第一次使用的朋友记得先注册&#xff…

鸿蒙(HarmonyOS)应用开发——装饰器

简介 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript&#xff08;简称TS&#xff09;的基础上&#xff0c;扩展了声明式UI、状态管理等相应的能力&#xff0c;让开发者可以以更简洁、更自然的方式开发高性能应用。TS是JavaScript&#xff08;简称JS&#xff09;的超…

MySQL 库操作 | 表操作

文章目录 一.MySQL库的操作1.创建数据库2.字符集和校验规则3.操纵数据库 二.MySQL表的操作1.创建表2.操作表3.删除表 一.MySQL库的操作 1.创建数据库 创建数据库 创建数据库的SQL如下&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSETcharset_name…

Redis——使用lua脚本模糊删除数据

前言 本文适用于Redis集群&#xff0c;是否适用单机模式未做测试&#xff01; 一、创建lua脚本&#xff1a; 命名为clear_data.lua redis.call("select",0)--游标的id local cursor 0 --查找删除的key的数量 local keyNum 0 repeat--使用scan搜索&#xff0c;c…

小程序和Vue写法的区别主要有什么不同

1.语法不同&#xff1a;小程序使用的是WXML、WXSS和JS&#xff0c;而Vue使用的是HTML、CSS和JSX。 2.数据绑定方式不同&#xff1a;小程序使用的是双向数据绑定&#xff0c;而Vue使用的是单向数据流。 1&#xff09;在小程序中需要使用e.currentTarget.dataset.*的方式获取&…

一篇文章完成Hbase入门

文章目录 一、简介1、数据模型结构2、物理存储结构3、数据模型4、基本架构 二、安装1、下载解压安装包2、修改配置文件3、启动服务(单机、集群)4、配置高可用(HA) 三、命令行操作1、建表2、新增/更新数据3、查看表数据4、删除数据5、修改默认保存的数据版本 四、架构1、RegionS…

C语言——猜凶手

题目&#xff1a; 日本某地发生了一件谋杀案&#xff0c;警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说&#xff1a;不是我。 B说&#xff1a;是C。 C说&#xff1a;是D。 D说&#xff1a;C在胡说 已知3个人说了真话&#xff0c;1个人说的是假话。…

数据提取PDF SDK的对比推荐

PDF 已迅速成为跨各种平台共享和分发文档的首选格式&#xff0c;它作为一种数据来源&#xff0c;常见于公司的各种报告和报表中。为了能更好地分析、处理这些数据信息&#xff0c;我们需要检测和提取 PDF 中的数据&#xff0c;并将其转换为可用且有意义的格式。而数据提取的 PD…

面试问题--智能指针

什么是智能指针&#xff1f; 当你在编写程序时&#xff0c;可能需要在运行时动态分配内存来存储数据。在传统的C中&#xff0c;你可能会使用 new 和 delete 操作符来手动管理内存。但是这样容易出现一些问题&#xff0c;比如忘记释放内存导致内存泄漏&#xff0c;或者释放了之…

物联网中基于信任的安全性调查研究:挑战与问题

A survey study on trust-based security in Internet of Things: Challenges and issues 文章目录 a b s t r a c t1. Introduction2. Related work3. IoT security from the one-stop dimension3.1. Output data related security3.1.1. Confidentiality3.1.2. Authenticity …

JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别

JavaScript是一种非常流行的编程语言&#xff0c;它具有许多强大的功能和特性。在JavaScript中&#xff0c;有一些方法和操作符可以帮助我们更好地处理数据类型和对象。本文将重点讨论Object.prototype.toString.call()、instanceOf和Array.isArray()这三个在JavaScript中常用的…

快速认识Linux的几个指令

我们先简单认识几个指令&#xff0c;为之后的指令学习打好基础 打开XShell并登录云服务器 01.pwd指令 pwd命令的作用是显示当前在Linux系统中所处的路径 02.ls指令 ls命令的作业是罗列出当前路径下的文件名&#xff08;即pwd的路径下&#xff09;&#xff0c;由于我们没有新…

Docker Swarm总结+Jenkins安装配置与集成(4/4)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

UniApp Button讲解

UniApp是一种基于Vue.js的跨平台开发框架&#xff0c;可用于快速构建移动应用程序。在UniApp中&#xff0c;按钮&#xff08;Button&#xff09;是常用的交互元素之一&#xff0c;用于触发用户操作。本文将详细介绍UniApp中按钮的使用方法和相关特性。 创建按钮 在UniApp中&am…

我是如何写作的?

以前是如何写作的 从小学三年级开始学写作文&#xff0c;看的作文书&#xff0c;老师布置作文题目&#xff0c;内容我都是自己写的。那时会积累一些好词&#xff0c;听到什么好词就记住了。并没有去观察什么&#xff0c;也没有好好花心思在写作上。总觉得我写的作文与真正好的…

kvm使用vbox已经安装好的windows10系统

我工作的电脑安装的系统是ubuntu,但是公司办公相关软件大多是windows版本&#xff0c;所以我用vbox虚拟了一个windows10系统。但是有一天发现开发android应用时想用模拟器调试用不了&#xff0c;发现是模拟器使用kvm,但是这时kvm启动不起来&#xff0c;原因是被vbox占用了。 最…

Python可迭代对象排序:深入排序算法与定制排序

更多Python学习内容&#xff1a;ipengtao.com 排序在计算机科学中是一项基础而关键的操作&#xff0c;而Python提供了强大的排序工具来满足不同场景下的排序需求。本文将深入探讨Python中对可迭代对象进行排序的方法&#xff0c;涵盖基础排序算法、sorted函数的应用、以及定制排…