没有备案的网站怎么访问合肥网站建设 微笑互联

diannao/2025/10/22 23:08:55/文章来源:
没有备案的网站怎么访问,合肥网站建设 微笑互联,网站建设kpi考核,住房城乡建设部 网站算法题 Leetcode 39. 组合总和 题目链接:39. 组合总和 大佬视频讲解#xff1a;组合总和视频讲解 个人思路 这道组合题主要是有总和的限制#xff0c;当递归和超过了总和就return#xff0c;递归时加上回溯去遍历数组。 解法 回溯法 把组合问题抽象为如下树形结构 如上… 算法题 Leetcode 39. 组合总和 题目链接:39. 组合总和 大佬视频讲解组合总和视频讲解 个人思路 这道组合题主要是有总和的限制当递归和超过了总和就return递归时加上回溯去遍历数组。 解法 回溯法 把组合问题抽象为如下树形结构 如上图因为本题没有组合数量要求仅仅是总和的限制所以递归没有层数的限制只要选取的元素总和超过target就返回 回溯法三部曲 1.递归函数参数 定义两个全局变量二维数组result存放结果集数组path存放符合条件的结果。 首先是题目中给出的参数集合candidates, 和目标值target。 此外还需要定义int型的sum变量来统计单一结果path里的总和startIndex来控制for循环的起始位置. 关于startIndex的使用如果是一个集合来求组合的话就需要startIndex比如组合三。如果是多个集合取组合各个集合之间相互不影响那么就不用startIndex例子Leetcode 77.组合 2.递归终止条件 终止只有两种情况sum大于target和sum等于target。sum等于target的时候需要收集结果 3.单层搜索的逻辑 单层for循环依然是从startIndex开始搜索candidates集合。 本题元素为可重复选取的。所以在递归时i不需要加1。 剪枝 这道题的剪枝就是对总集合排序之后如果下一层的sum就是本层的 sum candidates[i]已经大于target就可以结束本轮for循环的遍历。 class Solution {public ListListInteger combinationSum(int[] candidates, int target) {ListListInteger res new ArrayList();Arrays.sort(candidates); // 先进行排序backtracking(res, new ArrayList(), candidates, target, 0, 0);return res;}public void backtracking(ListListInteger res, ListInteger path, int[] candidates, int target, int sum, int idx) {// 找到了数字和为 target 的组合if (sum target) {res.add(new ArrayList(path));return;}for (int i idx; i candidates.length; i) {// 如果 sum candidates[i] target 就终止遍历if (sum candidates[i] target) break;//剪枝path.add(candidates[i]);backtracking(res, path, candidates, target, sum candidates[i], i);path.remove(path.size() - 1); // 回溯移除路径 path 最后一个元素}} } 时间复杂度:O(n * 2^n))循环n个元素2^n表示所有可能的子集数量 空间复杂度:O(n);递归栈的深度最多为 n Leetcode  40.组合总和II 题目链接:40.组合总和II 大佬视频讲解组合总和II视频讲解 个人思路 这道题的集合数组candidates有重复元素但还不能有重复的组合这是这道题难的关键思路就是 用一个标记数组标记该元素层次上是否使用过使用过的就跳过这样不会出现重复的组合。 解法 回溯法 把组合问题抽象为如下树形结构 “使用过”在这个树形结构上是有两个维度的一个维度是同一树枝上使用过一个维度是同一树层上使用过。 元素在同一个组合内是可以重复的怎么重复都没事但两个组合不能相同。所以要去重的是同一树层上的“使用过”同一树枝上的都是一个组合里的元素不用去重。(强调:树层去重的话需要对数组排序) 回溯法三部曲 1.递归函数参数 除开存放数组的集合和符合条件的路径, 这道题需要加一个bool型数组used用来记录同一树枝上的元素是否使用过。这个集合去重的重任就是used来完成的。 2.递归终止条件 终止条件为 sum target 和 sum target。 其中sum target 这个条件可以省略因为在递归单层遍历的时候会有剪枝的操作. 3.单层搜索的逻辑 如抽线的树形结构要去重的是“同一树层上的使用过”,判断逻辑如下: 如果candidates[i] candidates[i - 1] 并且 used[i - 1] false就说明前一个树枝使用了candidates[i - 1]也就是说同一树层使用过candidates[i - 1]。此时for循环里就应该做continue的操作。 所以值为 used[i - 1] true说明同一树枝candidates[i - 1]使用过 used[i - 1] false说明同一树层candidates[i - 1]使用过 因为同一树层used[i - 1] false 才能表示当前取的 candidates[i] 是从 candidates[i - 1] 回溯而来的。而 used[i - 1] true说明是进入下一层递归去下一个数所以是树枝上 剪枝 当和大于目标值直接返回即sum candidates[i] target为剪枝操作 class Solution {LinkedListInteger path new LinkedList();ListListInteger ans new ArrayList();boolean[] used;int sum 0;public ListListInteger combinationSum2(int[] candidates, int target) {used new boolean[candidates.length];// 加标志数组用来辅助判断同层节点是否已经遍历Arrays.fill(used, false);// 为了将重复的数字都放到一起所以先进行排序Arrays.sort(candidates);backTracking(candidates, target, 0);return ans;}private void backTracking(int[] candidates, int target, int startIndex) {if (sum target) {ans.add(new ArrayList(path));}for (int i startIndex; i candidates.length; i) {if (sum candidates[i] target) {break;}// 出现重复节点同层的第一个节点已经被访问过所以直接跳过if (i 0 candidates[i] candidates[i - 1] !used[i - 1]) {continue;}used[i] true;sum candidates[i];path.add(candidates[i]);// 每个节点仅能选择一次所以从下一位开始backTracking(candidates, target, i 1);used[i] false;sum - candidates[i];path.removeLast();}} }时间复杂度:O(n * 2^n))循环n个元素2^n表示所有可能的子集数量 空间复杂度:O(n);递归栈的深度最多为 n Leetcode  131.分割回文串 题目链接:131.分割回文串 大佬视频讲解分割回文串视频讲解 个人思路 既要判断是否为回文子串还要切割只能用回溯法了但不知道如何切割这是个问题... 解法 回溯法 把组合问题抽象为如下树形结构 其实本题的切割问题类似组合问题。 例如对于字符串abcdef 组合问题选取一个a之后在bcdef中再去选取第二个选取b之后在cdef中再选取第三个.....切割问题切割一个a之后在bcdef中再去切割第二段切割b之后在cdef中再切割第三段..... 回溯法三部曲 1.递归函数参数 全局变量数组path存放切割后回文的子串二维数组result存放结果集。  本题递归函数参数还需要startIndex因为切割过的地方不能重复切割 2.递归函数终止条件 按照切割的思想去看切割线切到了字符串最后面说明找到了一种切割方法此时就是本层递归的终止条件。 那么在代码里什么是切割线呢其实在处理组合问题的时候递归参数需要传入startIndex表示下一轮递归遍历的起始位置这个startIndex就是切割线。 3.单层搜索的逻辑 在for (int i startIndex; i s.size(); i)循环中我们 定义了起始位置startIndex那么 [startIndex, i] 就是要截取的子串。 首先判断这个子串是不是回文如果是回文就加入path中path用来记录切割过的回文子串。 注意切割过的位置不能重复切割所以backtracking(s, i 1); 传入下一层的起始位置为i 1。 判断回文子串 可以使用双指针法一个指针从前向后一个指针从后向前如果前后指针所指向的元素是相等的就是回文字符串了。 这里需要一个个判断 class Solution {ListListString result new ArrayList();//结果集DequeString path new LinkedList();public ListListString partition(String s) {backTracking(s, 0);return result;}private void backTracking(String s, int startIndex) {//如果起始位置大于s的大小说明找到了一组分割方案if (startIndex s.length()) {result.add(new ArrayList(path));return;}for (int i startIndex; i s.length(); i) {//如果是回文子串则记录if (isPalindrome(s, startIndex, i)) {String str s.substring(startIndex, i 1);path.addLast(str);} else {continue;}backTracking(s, i 1);//起始位置后移保证不重复path.removeLast();}}//判断是否是回文串private boolean isPalindrome(String s, int startIndex, int end) {for (int i startIndex, j end; i j; i, j--) {if (s.charAt(i) ! s.charAt(j)) {return false;}}return true;} } 时间复杂度:O(n * 2^n))循环n个元素2^n表示所有可能的子集数量 空间复杂度:O(n);递归栈的深度最多为 n 以上是个人的思考反思与总结若只想根据系列题刷参考卡哥的网址代码随想录算法官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发与数据库网站美工做专题尺寸多少

来源:神经科技近日,在针对健康志愿者的的一项研究中,美国国立卫生研究院(NIH)的研究人员发现,大脑可能会通过短暂的休息来巩固我们几秒钟前刚练习过的新技能的记忆。该研究结果强调了早期休息在学习中可能发…

做职业装的网站公司网站招聘费如何做会计分录

2021牛客暑期多校训练营2 题号题目知识点AArithmetic ProgressionBCannonCDraw GridsDEr Ba GameEGas StationFGirlfriendGLeague of LegendsHOlefinIPenguinsbfsJProduct of GCDsKStackLWeChat Walk

网站定制开发公司推荐wordpress资源站

nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据在nodejs中安装modbus-serial库本人使用的开发环境是Windows10下的VSCode,安装并配置好了npm、node、cnpm等工具,使用cnpm安装了modbus-serial库,可以在npm中搜到modbus-serial包以及…

门户网站建设和运行招标公告双线网站选服务器

转载自 面象对象设计6大原则之六:迪米特原则迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则定义一个对象应该对其他对象有最少的了解。也就是说一个类耦合和调用一个类应该知道的最少,它只关心被耦…

网站推广初期目标网站海外推广资源

国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排; 然后,让各位新郎寻找自己的新娘.每人只准找一个,…

vs做网站开发吗绛帐做企业网站

【前沿技术杂谈:迁移学习】欧洲人工智能法案对人工智能开发者的意义 [2023 年 12 月更新] 定义、一般原则和禁止做法人工智能系统开发者基于风险的义务固定和通用人工智能开发人员(第 3/28 条)基础模型的提供者(第 28b…

深圳龙华 网站建设网站建设vipjiuselu

本节复习排序中的希尔排序,希尔排序属于插入排序。 希尔排序的代码和插入排序非常类似。 思想却相对于插入排序来说复杂。 在复习希尔排序之前, 我们需要先复习一下插入排序。 目录 插入排序 插入过程 代码实现 希尔排序 希尔排序的思想 代码实…

做加工都在哪个网站推广电商网站创办过程

英杰社区https://bbs.csdn.net/topics/617804998 一、背景 近年来,Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程 序,用于抓取豆瓣电影Top250的相关信息,并将其保存为Excel文件。 程序包含以下几个部…

阿里云的网站接入方式网站空间 群集

反射 反射的概念 反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量,构造器,成员方法等等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到加载完类之后,在堆中就产生了一个Class类型…

备份wordpress网站网站建设增城

一、协议族体系结构 TCP/IP协议族分为四层协议系统,自底向下分别为数据链路层、网络层、传输层、应用层。 数据链路层常用ARP(地址解析协议)和RARP(逆地址解析协议)。在网络层使用IP寻址,而在数据链路层使用…

响应式网站的排版做定制网站多少钱

文章目录 1. 每日一言2. 题目(78)删除有序数组中的重复项2.1 解题思路2.2 代码 3. 题目(79)排序矩阵查找3.1 解题思路3.1.1 暴力查找暴力查找代码 3.1.2 二分查找二分查找代码 3.1.3 贪心贪心代码 4. 结语 1. 每日一言 水晶帘动微风起,满架蔷薇一院香。 —高骈- 2.…

注册网站法律风险专业做seo的网站

SVG是矢量图,刚接触尚不能仔细介绍,但只需记得一点:放大不失真,存储也方便。 因为多数户型图使用SVG格式,Android要用的话必须通过相关转换工具,将原SVG格式文件,转换为XML后缀的VectorDrawable…

沈阳网站做网站使用网络图片做素材 侵权

sql语句中最后多了分号的原因,去掉分号就可以。

网站设计服务流程如何注册一个自己的网址

Linux Mint 默认禁用未经验证的 Flatpak 软件包 Linux Mint 新政策 Linux Mint 项目宣布了一项新政策,即默认禁用那些未经官方验证的 Flatpak 软件包,以增强用户的安全保障。 当用户选择启用未经验证的 Flatpak 软件包时,Linux Mint 的软…

广州企业网站设计方案苏州百姓网

采购订单没有生成上传订单号pkg_inpurchase_task.p_rk_sc_rkd_zc iv_yzid ----- ZDA iv_djbh ---- KPD00014712 销售订单下传下去后直接转历史表 select * from INTERFACE_OUT_SALE_M t where djbh like %XSGYMA00220297%日志表查询结果ORA-01400: 无法将 NULL 插入 ("WMS…

网站验证码系统免费行情网站app斗印

上一篇文章学习了GIT中commit、tree和blob三个对象之间的关系,点击链接查看:【Git、GitHub、GitLab】六 GIT中commit、tree和blob三个对象之间的关系 文章目录1 git中如何删除分支2 分离头指针的情况需要注意什么1 git中如何删除分支 如何查看分支&#…

凡科网站怎么做友情链接网站制作用什么软件

如果直接修改SQL报错的话,可以考虑【增加备用字段->复制字段值->删除原字段->备用字段改名】的思路进行处理。 执行的时候建议一步一步执行而非批量执行 其中COLUMN_T为备用字段,COLUMN_O为原字段。 -- 根据原字段创建新长度的备用字段 alte…

上海专业商城建设什么叫seo推广

标准库类型string 和 vector ,分别定义了大小可变的字符串和集合。 bitset,提供了一个抽象方法来操作位的集合。提供更方便的处理位的方式(相对于整型值上的位操作符)vector用于保存一组指定类型的对象。::…

百度推广 做网站遥控器外壳设计网站推荐

电压互感器 Potential Transformer (简称:PT)将高电压转换成标准低电压(100V),供测量、保护用。相数代号:D-单相、S-三相绝缘型式:J-油侵式、G-干式、Z-浇注式结构型式:W-五柱三绕组、B-带补偿绕组、J-接地保护、X-带剩…

专业网站设计招聘信息九江建设局网站

在意大利间谍软件厂商 Hacking Team 的内部邮件和文档被曝光将近一年后,黑掉这家黑客公司的黑客公开了他如何入侵HT的完整细节。该文档于上周六在网上发布,本意是为了给黑客活动人士的一份指南。但对于安全从业人员来说,则意味着当任何企业或…