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

国家工程建设信息网站汕头模板建站代理

国家工程建设信息网站,汕头模板建站代理,接做网站简介,域名服务器作用1.全排列 全排列 II 1.给定一个不含重复数字的数组 nums #xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 2.给定一个可包含重复数字的序列 nums #xff0c;按任意顺序 返回所有不重复的全排列。 示例 1#xff1a; 输入#xff1a;nums [1,2,3…1.全排列  全排列 II 1.给定一个不含重复数字的数组 nums 返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 2.给定一个可包含重复数字的序列 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 分析是回溯的全排列类型刚开始写的时候传参传的不是used的地址所以used里面持续是0 #include bits/stdc.h using namespace std; vectorint nums; vectorint path; vectorbool used(nums.size(),false); void f(vectorint nums,vectorbool used) {if(nums.size()path.size()){for(int i0;ipath.size();i) coutpath[i] ;coutendl;return;}for(int i0;inums.size();i){if(used[i] true) continue;used[i]true;path.push_back(nums[i]);f(nums,used);path.pop_back();used[i]false;} } main() {int x;while(cinx){nums.push_back(x);}f(nums,used); }分析这个剪枝不是很好理解if(nums[i]nums[i-1] used[i-1] false) continue;这里是对同一层进行剪枝同一层表示的是同一个位置如果这个位置上的数重复了那我们就直接continue #include bits/stdc.h using namespace std; vectorint nums; vectorint path; vectorbool used(nums.size(),false); void f(vectorint nums,vectorbool used) {if(nums.size()path.size()){for(int i0; ipath.size(); i) coutpath[i] ;coutendl;return;}for(int i0; inums.size(); i){if(nums[i]nums[i-1] used[i-1] false) continue;if(used[i]false){used[i]true;path.push_back(nums[i]);f(nums,used);path.pop_back();used[i]false;}} } main() {int x;while(cinx){nums.push_back(x);}sort(nums.begin(),nums.end());f(nums,used); }2.组合 给定两个整数 n 和 k返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1 输入n 4, k 2 输出 [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2 输入n 1, k 1 输出[[1]]提示 1 n 201 k n 分析 这个在我看来属于回溯的组合型我打算用组合型来做 #include bits/stdc.h using namespace std; vectorint path; int num[21]; int n,k; void f(int n) {int i,j;int dk-path.size();if(path.size()k){for(i0;ik;i)coutpath[i] ;coutendl;return;}for(jn;jd-1;j--){path.push_back(j);f(j-1);path.pop_back();} } main() {cinnk;f(n); }3.子集 给你一个整数数组 nums 数组中的元素 互不相同 。返回该数组所有可能的子集幂集。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入nums [1,2,3] 输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2 输入nums [0] 输出[[],[0]]提示 1 nums.length 10-10 nums[i] 10nums 中的所有元素 互不相同 分析这个用选和不选的类型来做思路就比较清晰了 #include bits/stdc.h using namespace std; vectorint path; int num[21],n; void f(int i,int index) {if(in){for(int j0; jindex; j) coutpath[j] ;coutendl;return;}f(i1,index);path.push_back(num[i]);f(i1,index1);path.pop_back(); } main() {int x,i0;while(cinx){num[i]x;i;}ni;f(0,0); }
http://www.dnsts.com.cn/news/205415.html

相关文章:

  • 做艺人资料卡的网站权威的大良网站建设
  • 建正建设集团有限公司网站肇庆东莞网站建设
  • 北京市建设工程信息白城seo
  • 做付费软件网站怎么做网页游戏开服表源码
  • 网站的建设与管理自考网站建设管理软件
  • 许昌大成建设集团网站搜索引擎营销的特点包括
  • 网站放到国外空间河南城市建设招标类网站
  • 织梦贷款网站源码网站设计师发展方向
  • 自己做免费手机网站吗wordpress thecontent
  • 学校网站建设全包中南建设的网站
  • 网站开发的销售手机app网站制作
  • 网站上推广游戏怎么做为什么要建设就业指导网站
  • 做通路富集分析的网站5 网站建设进度表
  • 网站开发报价设计摄影作品
  • 网站建设可以帮助花店怎么样考证培训机构报名网站
  • 鞍山网站网站建设宁波关键词优化企业网站建设
  • 小红网站建设南宁优化网站收费
  • 媒易网络网站建设培训新闻cms静态网站模板下载
  • 哪些网站设计的好南昌市网站备案
  • 宁波网站怎么建设西安网站建设网络
  • 网站链接锚文字怎么做八大恶心的网站制作
  • 青岛wordpress建站网站建设需要用到那些语言
  • 网站网页设计入门动漫设计需要什么基础
  • 怎么接网站来做搜索自定义关键词优化
  • 石台做网站有些网站开发人员工具无反应
  • 梅州市住房和城乡建设局官方网站多用户开源商城
  • 信息技术课做网站网络系统建设方案
  • siteground建站教程建网站的宽带多少钱
  • 做网站必须要切图吗山西互联网公司ui设计师招聘网
  • 茶艺馆网站天津装修公司电话