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

无锡企业网站制作价格培训网站项目ppt怎么做

无锡企业网站制作价格,培训网站项目ppt怎么做,我国好的室内设计公司排名,上海做衣服版的网站文章目录 一、题目二、解法三、完整代码 所有的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.eeditor.cn/news/123130/

相关文章:

  • 新网站制作怎么样百度怎么优化排名
  • 牡丹江0453免费信息网站国家信用信息公示系统官网
  • 可以用自己的电脑做网站主机做网站都需要什么资料
  • 美术馆网站的建设流程淘宝网站建设模板免费下载
  • 承德网站制作的流程个人网页设计需求分析怎么写
  • 如何制作企业网站策划公司怎么找客户
  • 常平网站关于产品网站建设的问题
  • 网址查询网站线上营销推广渠道
  • 上海建网站公司百度爱采购推广平台
  • 利用模板如何制作网站wordpress前端验证
  • 网站建设综合实训ppt怎么到国外网站去接模具订单做
  • 镭拓网站建设成都网站建设贴吧
  • 关于加强网站建设和管理的通知社交做的最好的网站有哪些
  • 建设网站需要的编程重庆网站建设挑夹夹虫
  • 便宜机票的网站建设做一个属于自己的网页
  • 建手机端网站什么叫网站前台
  • 集团网站风格建设个电商平台网站需要多少钱
  • 做外卖骑手用哪个网站邯郸做移动网站的地方
  • 网站建设业务越做越累长春个人网站制作公司
  • 兰州建设局网站wordpress指定分类文章列表
  • 做瞹瞹瞹视频免费网站像网站的ppt怎么做的
  • 常德红网官网网站做网站的开场白
  • 中集建设集团有限公司网站网站制作系统
  • 上传软件的网站白云区住房和建设水务局网站
  • 二手车网站模版怎么做高端网站
  • 怎么用优盘做网站登录密钥wordpress改网站地址
  • 小企业网站建设多少钱苏州知名高端网站建设机构
  • 做挂件的网站室内装修设计软件app
  • 网站做下子压缩文件的链接农林行业网站开发公司
  • 国外做任务的网站沙洋建设局网站