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

重庆潼南网站建设价格国人原创wordpress cms模板:hcms

重庆潼南网站建设价格,国人原创wordpress cms模板:hcms,万网登录,做网站公司 蓝纤科技题目(leecode T46): 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 方法:全排列是数学中的基础问题,也是回溯算法能解决的经典问题。全排列因为每个元素都会…

题目(leecode T46):

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

方法:全排列是数学中的基础问题,也是回溯算法能解决的经典问题。全排列因为每个元素都会用到,所以不需要startIndex来控制递归的位置,但由于每个元素只能使用一次而不重复,所以需要使用used数组来表示当前元素是否被使用过了,使用过的话就跳过当前递归。分析三部曲:

1:传入参数与返回值:传入nums数组与使用数组used

2:终止条件:全排列要求每个元素都用到了,因此当path中收集的元素长度达到了nums.size时就可以收集结果并返回了

3:单层处理逻辑:单层中只需要判断一下当前的nums[i]是否是被使用过的,如果是的话就直接退出当前递归,否则的话就递归。同时记得在处理nums[i]元素时更新used数组的使用情况。

题解:

class Solution {
private:vector<int> path;vector<vector<int>> result;void backtracking(vector<int>& nums, vector<bool>& used){if(path.size() == nums.size()){                 //终止条件result.push_back(path);return;}for(int i = 0; i < nums.size(); i++){        //因为每个元素都要用到,无需startIndexif(used[i] == true) continue;path.push_back(nums[i]);used[i] = true;                          //注意及时更新used数组 backtracking(nums, used);path.pop_back();used[i] = false;}}
public:vector<vector<int>> permute(vector<int>& nums) {path.clear();result.clear();vector<bool> used(nums.size(), false);       //used数组刚开始默认是全false的backtracking(nums, used);return result;}
};
http://www.yayakq.cn/news/757894/

相关文章:

  • 青岛住房和城乡建设部网站网站建设丨找王科杰信誉
  • 上海教育网站前置审批总全设计装饰有限公司官网
  • 南通建设信息网站软件开发公司好的有哪些
  • 车辆管理网站开发wordpress可以连微信
  • 网站建设的后台登录开业时网站可以做哪些活动
  • 天津做网站排名杭州餐饮网站建设
  • seo搜索优化网站推广排名百度推广是什么
  • 建筑工程发布网站传奇网站一般怎么做的
  • 如何做产品销售网站胶州建设信息网站
  • 网站主机有什么用健康资讯网站模板
  • 网站wap怎么做石家庄网站建设就找企行家
  • 戚墅堰做网站能自己做头像的网站
  • 阿里巴巴跟建设网站的区别域名批量注册查询
  • 怎样给网站找空间做备案通付盾 建设网站
  • 龙华网站设计工程建设信息官方网站
  • 深圳品牌网站建设公司有哪些站长工具pr值查询
  • 个人网站建设源代码学编程的正规网课学校
  • 查企业的官方网站组织网站设计公司
  • 校园学生网站开发前端可以做网站吗
  • No家电网站建设建设一个网站预算
  • 正规网站开发需要哪些技术娱乐新闻主题wordpress
  • 哈尔滨网站建设网站建设中广告图片尺寸
  • 厦门做网站推广邮箱网站怎么做
  • ktv网络推广方案wordpress数据库索引优化
  • 深圳 seo 外贸网站建设 多语种自己怎么做卖服装的网站
  • 怎么创作自己的网站清远建网站的公司
  • 推广网站的四种方法昆明猫咪科技网站建设
  • 那个网站的机票做便宜餐饮业网站建设招标书
  • aspnet做网站视频教程编程基础知识大全
  • 怎样做网站发帖wordpress手机版刷新