给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

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

搜索回溯的思想

//求出数组中所有可能的排列
class Solution {
public:void backtrack(vector<vector<int>>& res, vector<int>& output, int first, int len){// 所有数都填完了if (first == len) {res.emplace_back(output);return;}//循环递归,i=0时递归完毕后,将之前交换后的元素还原,再进行i=1时的递归for (int i = first; i < len; ++i) {// 动态维护数组swap(output[i], output[first]);// 继续递归填下一个数backtrack(res, output, first + 1, len);// 撤销操作swap(output[i], output[first]);}}vector<vector<int>> permute(vector<int>& nums) {vector<vector<int> > res;//回溯backtrack(res, nums, 0, (int)nums.size());        return res;}
};

代码中用for循环递归,i=0时递归完毕后,将之前交换后的元素还原,再进行i=1时的递归。交换元素是为了区别哪些元素已经被选取过了,这递归完成再将元素交换回去。

力扣有个图解的搜索过程展现的很详细,大家可以去看一下

参考地址:https://leetcode-cn.com/problems/permutations/solution/quan-pai-lie-by-leetcode-solution-2/

面试腾讯我遇到了这题:数组全排列相关推荐

  1. 面试腾讯Java后台岗,处女面秒挂,17天后竟然拿下字节跳动offer

    BAT一直是互联网人包括程序员梦寐以求的公司,可相对这三个公司的进入门槛很高,无奈只能望门兴叹,所以只能苦练技能才能有机会去敲开BAT的大门.下面是一位Java程序员的亲身经历,面试腾讯PCG部门处女 ...

  2. 面试 腾讯 阿里 百度

    本人IT屌丝一枚,毕业4年,5年经验(大四在腾讯实习一年,实习生工资,工作内容同正式员工一样).非常幸运,先后收到过腾讯.百度和阿里的offer,在这里跟大家分享下经验,同诸君共勉. 本人职业生涯的起 ...

  3. 2020年4月2日华为消费者BG部门Android安卓第一次面试经验(一面,面经,编程代码题)

    一.问题背景 博主于2020年4月7日参加了腾讯Android安卓第一次面试,以下为华为面试官当场让博主在15分钟内必须实现的编程代码题目. 二.2020年4月2日华为消费者BG部门Android安卓 ...

  4. 每天一道大厂SQL题【Day17】腾讯外包(微信相关)真题实战(二)

    每天一道大厂SQL题[Day17]腾讯外包(微信相关)真题实战(二) 大家好,我是Maynor.相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间, ...

  5. 2022 年 Java 面试总结,200 多页真题笔记和详解(含核心考点及 6 家大厂)

    为了进大厂,花了很多时间和精力在面试准备上,也刷了很多题.但题刷多了有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到,如果只是为面试而刷题是不是在浪费人生呢? 如果你想进大厂,或者去一个更大.更 ...

  6. 2022年Java面试总结,200多页真题笔记和详解(核心考点、6家大厂)

    为了进大厂,花了很多时间和精力在面试准备上,也刷了很多题.但题刷多了有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到,如果只是为面试而刷题是不是在浪费人生呢? 如果你想进大厂,或者去一个更大.更 ...

  7. 记录一位社招面试腾讯成功拿到offer的面试内容及收集的答案(上)

    //   以下记录 是为了 以后如果有机会面试大厂 起码了解一些 作为合格前端应该掌握的知识点  勉励自己 //   对了 还有平时 对用到的专有名词及缩写 请查清全称及读音 否则面试的时候 真的画面 ...

  8. 面试中经常会问的智力题,来看看你会做几道

    转载自   面试中经常会问的智力题,来看看你会做几道 下面是大部分题目来自滴滴出行2017秋招题.开始头脑风暴吧~~~ 问题 question one 有50家人家,每家一条狗.有一天警察通知,50条 ...

  9. 腾讯云运维tca题库

    腾讯云运维tca题库 46.(1.0分)云API无法直接使用,需进行以下哪项操作才能调用云API接口? A.登录腾讯云控制台 B.登录腾讯云助手 C.下载相应的SDK工具 D.使用COSCMD工具 4 ...

最新文章

  1. 机器学习数据预处理之缺失值:后向填充
  2. JavaScript强化教程-JS面向对象编程
  3. mysql的explain的用途,利用Explain来分析和优化你的mysql
  4. OPPORTUNITIES_GET_ENTITY not implemented in data provider class
  5. 多线程之间共享的资源有哪些
  6. 架构设计 | 分布式业务系统中,全局ID生成策略
  7. 【英语学习】【English L06】U08 News L1 It's really a magical book!
  8. 两大方案,只为写出更安全的代码!
  9. 复制加网站信息的javascript代码及对应的javascript阻止命令
  10. 深度学习:Imagenet Object Classification方法
  11. 学习java一般多久
  12. 光学基本知识--概念辨析
  13. Python创建临时文件和文件夹
  14. 详叙 @vue/cli 和 vue-cli
  15. 美团再杀入共享充电宝的阳谋
  16. 【问链-EOS公开课】第十五课 用cleos注册EOS主网账户、投票和发币
  17. AMD中国的精神-郭可尊
  18. 一键清理系统垃圾文件脚本: clean.bat
  19. 微信小程序(一)基础知识
  20. [WPF自定义控件库]以Button为例谈谈如何模仿Aero2主题

热门文章

  1. 【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )
  2. 【Android 内存优化】自定义组件长图组件 ( 自定义组件构造方法 )
  3. vue3.0以上关于打包后出现空白页和路由不起作用
  4. Stack Overflow:研究发现访问PHP和 Android的流量更可能来自低收入国家
  5. 第一阶段个人总结03
  6. 迟来的2017年计划
  7. 【转】tomcat性能调优
  8. 基于http协议的api接口对于客户端的身份认证方式以及安全措施
  9. 非线程安全的HashMap 和 线程安全的ConcurrentHashMap
  10. 基于蚁群算法的岸桥作业顺序研究