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

西班牙语网站建设注意事项山东广饶建设银行网站

西班牙语网站建设注意事项,山东广饶建设银行网站,网站后台登陆口,福州seo外包公司一、组合问题 1.题目 Leetcode#xff1a;第 77 题 给定两个整数 n 和 k#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1#xff1a; 输入#xff1a;n 4, k 2 输出#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4…一、组合问题 1.题目 Leetcode第 77 题 给定两个整数 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]] 2.解题思路 使用回溯算法来解决组合问题。backtracking 函数是一个递归函数它尝试将每个可能的元素添加到当前路径中并递归地继续添加下一个元素直到路径长度达到 k。每次递归调用时都会检查当前路径长度是否满足条件如果满足则将其添加到结果中。combine 函数是公共接口它初始化结果和路径然后开始递归过程。 3.实现代码 #include iostream #include vector using namespace std;// 一、组合问题 class Solution { public:vectorvectorint result; // 用于存储所有可能组合的结果vectorint path; // 用于存储当前组合// 递归函数用于生成所有可能的组合void backtracking(int n, int k, int starIndex) {if (path.size() k) { // 如果当前路径长度等于 k表示找到了一个有效的组合result.push_back(path); // 将当前路径添加到结果中return; // 递归返回不再继续扩展当前路径}for (int i starIndex; i n; i) { // 从当前起始索引开始遍历所有可能的元素path.push_back(i); // 将当前元素添加到路径中backtracking(n, k, i 1); // 递归调用 backtracking 函数尝试添加下一个元素path.pop_back(); // 回溯移除最后一个元素尝试其他可能的元素}}// 主函数用于初始化并开始组合生成过程vectorvectorint combine(int n, int k) {result.clear(); // 清空之前的组合结果path.clear(); // 清空当前组合backtracking(n, k, 1); // 调用递归函数从索引 1 开始生成组合return result; // 返回所有可能的组合结果} };// 二、组合问题剪枝优化 class Solution { public:vectorvectorint result; // 用于存储所有可能组合的结果vectorint path; // 用于存储当前组合// 递归函数用于生成所有可能的组合void backtracking(int n, int k, int starIndex) {if (path.size() k) { // 如果当前路径长度等于 k表示找到了一个有效的组合result.push_back(path); // 将当前路径添加到结果中return; // 递归返回不再继续扩展当前路径}// 从当前起始索引开始遍历所有可能的元素for (int i starIndex; i n-(k-path.size())1; i) {//剪枝优化path.push_back(i); // 将当前元素添加到路径中backtracking(n, k, i 1); // 递归调用 backtracking 函数尝试添加下一个元素path.pop_back(); // 回溯移除最后一个元素尝试其他可能的元素}}// 主函数用于初始化并开始组合生成过程vectorvectorint combine(int n, int k) {result.clear(); // 清空之前的组合结果path.clear(); // 清空当前组合backtracking(n, k, 1); // 调用递归函数从索引 1 开始生成组合return result; // 返回所有可能的组合结果} };//测试 int main() {Solution s;vectorvectorint result;int n,k;cout n ;cin n;cout k ;cin k;results.combine(n, k);cout 所有的组合有 endl;for (int i 0; i result.size(); i) {for (int j 0; j k; j) {cout result[i][j] ;}cout endl;}cout endl;return 0; } ps以上皆是本人在探索算法旅途中的浅薄见解诚挚地希望得到各位的宝贵意见与悉心指导若有不足或谬误之处还请多多指教。
http://www.pierceye.com/news/986613/

相关文章:

  • 旅游网站开发方案ppt移动商城积分和积分区别
  • 如何做网站推广自己的产品WordPress+百度+主动
  • 商丘网站建设推广公司赣州seo唐三
  • 产品网站设计计算机专业做网站运营
  • 做平台网站怎么做的wordpress获取当前分类下的子分类
  • 广州网站建设性价比长安高端装备网站设计公司
  • 电子商务网站推广计划沈阳建设工程造价
  • 网站备案接入商是什么网站语言版本
  • 个人做网站做什么样的话网站站点连接不安全
  • 响应式网站 外贸平顶山 网站设计
  • 手袋 东莞网站建设成都哪里好玩适合情侣
  • 苏州哪个公司做门户网站给学校建网站那个系统好
  • 现在网站都是拿什么软件做的wordpress 自动alt
  • 山东省住房和城乡建设部网站首页网站中的自助报价系统
  • 如何 网站收录软件开发大概需要多少钱
  • 网站建设微信端简洁型网页
  • 一般的网站开发语言用什么《网站开发实践》 实训报告
  • php企业网站开发实验总结服务器
  • 织梦网站文章内容模板荣耀商城
  • seo 网站太小平面设计师招聘广告文案
  • 凡科网站建设桂林网站开发m0773
  • 做跨境都有哪些网站做电影类网站
  • 琼海商城网站建设东莞网站建设价位
  • 装饰网站建设重要性云服务器 多个网站
  • 邯郸市城乡建设管理局网站小米商城wordpress
  • 河北中石化建设网站html用户登录注册页面代码
  • 如何在网站后台备份数据库表设计本家装
  • 网站开发绑定qq企业域名注册
  • nas做网站网站安全建设工作总结
  • 淮北网站建设费用男女做暖暖到网站