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

无锡企业网站制作价格物流怎么弄网站

无锡企业网站制作价格,物流怎么弄网站,wordpress浮窗播放器,网站的主色调文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析#xff1a;【算法与数据结构】39、LeetCode组合总和的基础之上#xff0c;这道题变成了candidates中有重复元素可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析【算法与数据结构】39、LeetCode组合总和的基础之上这道题变成了candidates中有重复元素而且每个元素只能使用一次。如果直接使用39题的代码会出现重复的组合需要去重但这样一来leetcode可能运行超时。因此我们需要再找组合的时候就进行去重的操作。引入一个used布尔数组标记candidates中的元素是否使用过。在这之前首先需要对candidates数组进行排序。 例如 target7, candidates [1 1 2 4 5 7], 第一种情况candidates[0] candidates[2] candidates[3] candidates[1] candidates[2] candidates[3] 1 2 4, 因此出现重复的组合。第二种情况candidates[0] candidates[1] candidates[4] 1 1 5是无重复的组合。因此用used标记使用过的数当candidates[i] candidates[i - 1]时出现重复元素。进行第i次循环时第一种情况used[i-1]false就是出现重复组合, 在第i-1次循环时已经考虑过了直接continue。第二种情况就是重复数字都利用到了used[i-1]true这种需要考虑。   程序如下 class Solution { private:vectorvectorint result; // 结果合集vectorint path;void backtracking(const vectorint candidates, const int target, int sum, int startIndex, vectorbool used) {if (sum target) return; // 剪枝if (sum target) {result.push_back(path);return;}for (int i startIndex; i candidates.size() sum candidates[i] target; i) { // 剪枝优化if (i 0 candidates[i] candidates[i - 1] used[i - 1] false) { // 去重continue; }sum candidates[i];used[i] true;path.push_back(candidates[i]); // 处理节点backtracking(candidates, target, sum, i1, used); // 递归used[i] false;sum - candidates[i];path.pop_back(); // 回溯撤销处理的节点}} public:vectorvectorint combinationSum2(vectorint candidates, int target) {vectorboolused(candidates.size(), 0);sort(candidates.begin(), candidates.end());backtracking(candidates, target, 0, 0, used);return result;} };复杂度分析 时间复杂度 O ( n ∗ 2 n ) O(n*2^n) O(n∗2n)。空间复杂度 O ( n ) O(n) O(n)。 三、完整代码 # include iostream # include vector # include string # include algorithm using namespace std;class Solution { private:vectorvectorint result; // 结果合集vectorint path;void backtracking(const vectorint candidates, const int target, int sum, int startIndex, vectorbool used) {if (sum target) return; // 剪枝if (sum target) {result.push_back(path);return;}for (int i startIndex; i candidates.size() sum candidates[i] target; i) { // 剪枝优化if (i 0 candidates[i] candidates[i - 1] used[i - 1] false) { // 去重continue; }sum candidates[i];used[i] true;path.push_back(candidates[i]); // 处理节点backtracking(candidates, target, sum, i1, used); // 递归used[i] false;sum - candidates[i];path.pop_back(); // 回溯撤销处理的节点}} public:vectorvectorint combinationSum2(vectorint candidates, int target) {vectorboolused(candidates.size(), 0);sort(candidates.begin(), candidates.end());backtracking(candidates, target, 0, 0, used);return result;} };int main() {vectorint candidates { 10,1,2,7,6,1,5 };int target 8;Solution s1;vectorvectorint result s1.combinationSum2(candidates, target);for (vectorvectorint::iterator it result.begin(); it ! result.end(); it) {for (vectorint::iterator jt (*it).begin(); jt ! (*it).end(); jt) {cout *jt ;}cout endl;}system(pause);return 0; }end
http://www.hkea.cn/news/14318722/

相关文章:

  • 服务器创建多个网站网站群建设方案6
  • 公司网站设计规划家居品牌策划公司
  • 网站违反了 google 质量指南淘宝客网站跳转单品
  • 网站建设cms苏宁易购网站建设的目的
  • 如何获取网站根目录链接网站开发流程博客
  • 织梦贷款网站模板做网站 公司有哪些
  • 广州建站网站设计小结
  • 长沙长沙网站建设公司整合营销案例分析
  • 南宁网站怎么做seo巩义网站建设案例
  • 网站开发工程师win7优化软件
  • 苏州知名网站建设建站公司建行app怎么注册登录
  • 做壁画在哪个网站纯静态网站
  • 仪征做网站公司免费seo搜索优化
  • 搜狗官方网站怎么把网页里的视频提取出来
  • diy做网站资源优化网站排名
  • 网址导航推广360排名优化
  • 广西建设职业技术学院官方网站营销型网站规划建设的七大要素
  • 上海房产做哪个网站好关于做网站的外语文献
  • 电商网站设计图片标签模板制作
  • 海珠营销型网站制作wordpress 模板挂马
  • 建站系统cmsWordpress链接的index
  • 东海建设局网站织梦 商城网站
  • 买网站服务器要多少钱一年做销售有什么软件可以找客户
  • 福建省建设信息网站网站开发花费
  • 建设网站费用计入什么费用公司网站改版分析
  • 网站降权分析跟网站开发公司签合同主要要点
  • wordpress api 路径张家港seo建站
  • 电子商务网站建设成果ppywordpress小工具怎么使用
  • wordpress网站源文件太多没人做网站了吗
  • 北京市中关村有哪家可以做网站维护手机如何做微电影网站