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

搭建网站需要什么软件产品展示类网站

搭建网站需要什么软件,产品展示类网站,中企动力北京分公司,自己装修怎么出设计图文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题当中数字可以多次使用,那么我们在递归语句当中不能直接找下一个candidate的元素&…

文章目录

  • 一、题目
  • 二、解法
  • 三、完整代码

所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。

一、题目

在这里插入图片描述

二、解法

  思路分析:这道题当中数字可以多次使用,那么我们在递归语句当中不能直接找下一个candidate的元素,需要不断累加重复元素,直到它>=target,才能进入下一个循环,同时需要做剪枝优化,循环只在这个条件下进行sum+candidates[i] <= target。这道题的框架基于【算法与数据结构】216、LeetCode组合总和 III修改。
在这里插入图片描述

  程序如下

class Solution {
private:vector<vector<int>> result;     // 结果合集vector<int> path;void backtracking(const vector<int>& candidates, const int target, int sum, int startIndex) {if (sum > target) return;    // 剪枝if (sum == target) {result.push_back(path);return;}for (int i = startIndex; i < candidates.size() && sum+candidates[i] <= target; i++) { // 剪枝优化sum += candidates[i];path.push_back(candidates[i]);  // 处理节点backtracking(candidates, target, sum, i);  // 递归sum -= candidates[i];path.pop_back();    // 回溯,撤销处理的节点}}
public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {vector<int> nums = candidates;		// 对candidates数组升排序sort(nums.begin(), nums.end());backtracking(nums, target, 0, 0);return result;}
};

复杂度分析:

  • 时间复杂度: O ( n ∗ 2 n ) O(n*2^n) O(n2n)
  • 空间复杂度: O ( t a r g e t ) O(target) O(target)

三、完整代码

# include <iostream>
# include <string>
# include <vector>
# include <algorithm>
using namespace std;class Solution {
private:vector<vector<int>> result;     // 结果合集vector<int> path;void backtracking(const vector<int>& candidates, const int target, int sum, int startIndex) {if (sum > target) return;    // 剪枝if (sum == target) {result.push_back(path);return;}for (int i = startIndex; i < candidates.size() && sum+candidates[i] <= target; i++) { // 剪枝优化sum += candidates[i];path.push_back(candidates[i]);  // 处理节点backtracking(candidates, target, sum, i);  // 递归sum -= candidates[i];path.pop_back();    // 回溯,撤销处理的节点}}
public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {vector<int> nums = candidates;		// 对candidates数组升排序sort(nums.begin(), nums.end());backtracking(nums, target, 0, 0);return result;}
};int main() {vector<int> candidates = { 2, 3, 6, 7 };int target = 7;Solution s1;vector<vector<int>> result = s1.combinationSum(candidates, target);for (vector<vector<int>>::iterator it = result.begin(); it != result.end(); it++) {for (vector<int>::iterator jt = (*it).begin(); jt != (*it).end(); jt++) {cout << *jt << " ";}cout << endl;}system("pause");return 0; 
}

end

http://www.yayakq.cn/news/21098/

相关文章:

  • 怎样在网站上做销售太原企业网站模板建站
  • 移动手机号码网站响应式网站的制作工具
  • 策勒网站建设百度应用宝
  • 做外贸需关注的网站企业做网站和宣传册的作用
  • 河南省建设厅注册中心网站mvc网站开发视频教程
  • 找网站漏洞赚钱怎么做的企业网站开发工具
  • 网站没有内容可以备案吗服装搭配网站源码
  • 宝山做网站装修案例
  • 彩票网站开发dadi163微信做引流网站
  • 高端网站建设企业wordpress标签页固定连接以.html后缀结尾
  • 网站做seo屏蔽搜索三星网上商城app官方版
  • 电子商务网站系统建设实训心得网站的优化通过什么做上去
  • 西部数据网站建设2023楼市回暖潮无望了
  • 网站建设遇到哪些危险网站 工作室
  • 电子商务网站的建站流程产品做优化好还是超级网站好
  • 郑州做网站哪里好销售网站快速建立
  • 石家庄做网站建设的公司wordpress 免插件 浏览数
  • 中跃建设集团有限公司网站网站开发兼容极速字体颜色推荐
  • 佛山企业网站制作文成网站
  • 自己建网站详细流程一站式做网站服务
  • 村级网站建设网站关键词优化快速排名
  • 建设工程网站资质人员查询智能小程序平台
  • 网站平台构建seo查询什么意思
  • 南充网站建设略奥科技自己做企业网站详细流程免费
  • golang 网站开发 开源前端主要做什么
  • 东莞家具饰品东莞网站建设网站建设pdf下载
  • 淄博网站推广那家好wordpress悬浮 联系
  • 策勒网站建设建设风景区网站的目的
  • 珠海多语种网站制作用什么网站搭建小说网站
  • 大学网站 作风建设专题成安县城乡建设规划局网站