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

成都微信网站建设报价网站底部关键词指向

成都微信网站建设报价,网站底部关键词指向,全国新闻媒体发稿平台,鸿川建设工程有限公司官方网站1--全排列#xff08;46#xff09; 主要思路1#xff1a; 经典全排列#xff0c;每次枚举每一位时#xff0c;重头开始枚举#xff0c;用一个访问数组记录当前已经被访问过的数字#xff1b; 这道题不包含重复数字#xff0c;所以不需要进行树层上的剪枝#xff1b; …1--全排列46 主要思路1         经典全排列每次枚举每一位时重头开始枚举用一个访问数组记录当前已经被访问过的数字         这道题不包含重复数字所以不需要进行树层上的剪枝 #include iostream #include vectorclass Solution { public:std::vectorstd::vectorint permute(std::vectorint nums) {if(nums.size() 0) return res;std::vectorbool vis(nums.size(), false);std::vectorint tmp;dfs(nums, vis, tmp);return res;}void dfs(std::vectorint nums, std::vectorbool vis, std::vectorint tmp){if(tmp.size() nums.size()){res.push_back(tmp);return;}for(int i 0; i nums.size(); i){if(vis[i] true) continue;tmp.push_back(nums[i]);vis[i] true;dfs(nums, vis, tmp);// 回溯tmp.pop_back();vis[i] false;}} private:std::vectorstd::vectorint res; };int main(int argc, char *argv[]){std::vectorint test {1,2,3};Solution S1;std::vectorstd::vectorint res S1.permute(test);for(auto v : res){for(auto i : v) std::cout i ;std::cout std::endl;} } 主要思路2         可以利用下一个排列的思想来枚举全排列首先需要将数组进行从小到大排序然后不断求解下一个排列一个下一个排列就是一个新的排列直到最大的排列为止 #include iostream #include vector #include algorithmclass Solution { public:std::vectorstd::vectorint permute(std::vectorint nums) {if(nums.size() 0) return res;std::sort(nums.begin(), nums.end()); // 从小到大排列res.push_back(nums); // 记录最小的排列while(nextp(nums)){res.push_back(nums);}return res;}bool nextp(std::vectorint nums){int n nums.size();// 找到第一个顺序对int i;for(i n - 2; i 0; i--){if(nums[i] nums[i1]) break;}if(i -1) return false; //已经是最大排列了// 找到一个nums[j] 上面的nums[i]int j;for(j n - 1; j i; j--){if(nums[j] nums[i]) break;}// 交换nums[i] 和 nums[j]std::swap(nums[i], nums[j]);// 反转num[i1] ~ nums.end()std::reverse(nums.begin() i 1, nums.end());return true;}private:std::vectorstd::vectorint res; };int main(int argc, char *argv[]){std::vectorint test {1,2,3};Solution S1;std::vectorstd::vectorint res S1.permute(test);for(auto v : res){for(auto i : v) std::cout i ;std::cout std::endl;} } 2--旋转图像48 主要思路          按层圈来旋转对于坐标为(r, c)的值其旋转后的坐标为(c, n - 1 - r)且每四个上右下左为一个循环节循环交换循环节中四个元素即可视频讲解参考旋转图像 #include iostream #include vector #include algorithmclass Solution { public:void rotate(std::vectorstd::vectorint matrix) {int n matrix.size();// 按层圈处理for(int L n; L 0; L - 2){// 左上角起始元素int row (n - L) / 2;int col row;// 当前这一行顶行的前 L-1 个元素for(int k 0; k L - 1; k){// 当前元素int r row, c col k;int tmp matrix[r][c];// 从(r, c)开始寻找循环节循环节的长度一定是4for(int i 0; i 4; i){// 旋转后的坐标int rr c;int cc n - 1 - r;// 旋转std::swap(tmp, matrix[rr][cc]);r rr;c cc;}}}} }; int main(int argc, char *argv[]){std::vectorstd::vectorint test {{1,2,3}, {4,5,6}, {7,8,9}};Solution S1;S1.rotate(test);for(auto v : test){for(auto i : v) std::cout i ;std::cout std::endl;} } 3--字母异位词分组49 主要思路
http://www.hkea.cn/news/14271927/

相关文章:

  • 建一个企业网站要花多少钱网站平台建设所需开发工具
  • 温州网站设计制作企业主体负责人和网站负责人
  • 免费html网站开发教程搜索引擎营销怎么做
  • 山楼小院在哪家网站做宣传wordpress腾讯视频插件
  • 自己做网站网站超级单页网站模板
  • 苏州网站建设工作室软文代写发布
  • 企业营销型网站建设厂家网上做夫妻的网站
  • 部门网站建设管理包装设计收费明细
  • 智联招聘网站建设手机网站设计公司优选亿企邦
  • 黑帽seo软件郴州seo网络优化
  • 城市网站建设摘要论文硬件开发一站式平台
  • 织梦可以做论坛网站网站平台建设费用
  • 铜仁网站建设哪家专业厚街手机网站制作
  • 网站建设哪公司好天津造价信息网
  • 建设工程的在建设部网站手抄报模板网
  • 返佣贵金属交易所网站建设网站建站素材
  • 云南建设厅网站执业注册如何查询公司的详细信息
  • 专业信息门户网站建设如果评价网站做的好不好
  • 百度浏览器下载安装广西seo快速排名
  • 网站建设文案怎么写东莞网吧
  • 个人单页网站模板网站建设工作室有几个部门
  • 网站建设对信息公开的作用湖南厦门网站优化
  • 网站建设需要干什么wps可以做网站吗
  • 莆田网站建设方案优化郑州公司建网站
  • 网站开发公司建网站免费的室内装修设计软件
  • 北京做网站要多少钱苏州正规网站设计公司
  • seo企业网站源码东莞大岭山镇网站建设
  • 微商手机网站制作公司wordpress菜单显示在哪里设置
  • 福州网站制作公司凡科建站后属于自己的网站吗
  • 大连网站建设渠道公司网站制作要多少钱