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

西安学校部门定制网站建设公司上海网页制作培训班

西安学校部门定制网站建设公司,上海网页制作培训班,齐家网装修,想给公司做个网站一、组合问题 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.zqtcl.cn/news/353603/

相关文章:

  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件
  • 威海网站建设怎么样网上怎么推销自己的产品
  • 网站做SEO优化网站建设背景图片大小的修改
  • 看企业网站怎么做到百度秒收WordPress怎么可以上传图片
  • 欧洲手表网站简述jsp网站架构
  • 网站搜索排名优化软件flash xml网站
  • 匀贵网站建设亿级别网站开发注意
  • 怎样架设网站网站优化公司推荐
  • iis网站防盗链济宁官方网站
  • 网址查询地址查询站长之家在海南注册公司需要什么条件
  • 网站开发兼职平台网站建设需要多少钱小江网页设计
  • 最专业的网站建设收费2021没封的网站有人分享吗
  • 站酷设计网站官网入口文字设计wordpress是服务器吗
  • 律师手机网站模板天津做推广的公司
  • 西安市高新区建设规划局网站织梦小说网站模板下载地址
  • 网站开发简历 自我评价网页设计报告论文
  • 如何让网站不被收录不备案 国内网站