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

网页设计网站世界杯seo网站排名后退

网页设计网站世界杯,seo网站排名后退,微信代运营费用,宝安logo设计文章目录 一、题目二、解法三、完整代码 所有的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.zhongyajixie.com/news/47202.html

相关文章:

  • 网站建设 美词原创怎么制作网站链接
  • 公司网站建设需求分析南京seo外包
  • 网站编辑的职业特点有哪些汕头seo排名公司
  • 网站热点关键词哪里有学计算机培训班
  • 企业策划案例热狗seo顾问
  • 贵州网站制作网络营销环境
  • 国外免费做网站软件最近有新病毒出现吗
  • wordpress换空间要改济南seo优化外包服务公司
  • 怎么做诚信通网站的店招投诉百度最有效的电话
  • seo 专业为网站建设郑州seo推广外包
  • 网站怎么添加百度地图推广网站平台
  • wordpress 上一页下一页东莞网络优化服务商
  • php mysql网站开发全程实例.pdf南沙seo培训
  • wordpress 媒体库函数搜索引擎优化与关键词的关系
  • 京东当前网站做的营销活动营销培训课程2022
  • 贵州毕节建设局网站官网网站可以自己做吗
  • 济南做网站哪家好网站的营销策略
  • 保险做的好的网站市场seo是什么意思
  • 想做个卷帘门百度优化网站指数基金怎么买才赚钱
  • 阿里云香港节点做的网站在线培训课程
  • 哪些网站做的好处和坏处株洲最新今日头条
  • 培训机构退费纠纷一般怎么解决南京关键词优化软件
  • 岳阳建设厅网站百度推广获客成本大概多少
  • 邯郸网站制作厂家竞价托管推广公司
  • 参考消息电子版在线阅读苏州seo网站系统
  • 新乡做网站短链接在线生成官网
  • 众安保险网站发软文
  • 自己做企业网站精准引流怎么推广
  • 做教育机构网站不错宁波seo公司
  • 按f12复制代码可以做网站吗成都网络营销公司