E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LQB算法训练
代码随想录
算法训练
营Day34 (Day33休息) | 贪心算法(3/6) LeetCode 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
开始第三天的练习。贪心算法没有固定套路,能由局部推出最佳就能用贪心!第一题1005.MaximizeSumOfArrayAfterKNegationsGivenanintegerarraynumsandanintegerk,modifythearrayinthefollowingway:chooseanindexiandreplacenums[i]with-nums[i].Youshouldapp
Scouser_H
·
2023-11-20 17:21
LeetCode
算法
贪心算法
leetcode
代码随想录
算法训练
营Day3|203.移除链表元素、707.设计链表、203.反转单链表
203.移除链表元素(注意删除单链表节点必须拿到该节点的头一个节点以及是否使用虚拟头节点的区别即可)//203.移除链表元素publicclassLeetCode_203{//给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。publicstaticvoidmain(String[]args){}publicstaticList
RE_LQ
·
2023-11-20 17:28
算法学习
算法
链表
数据结构
代码随想录
算法训练
营Day4|24.两两交换单链表节点、19.删除单链表的倒数第N个节点、160.单链表相交,求起始相交节点
24.两两交换单链表节点(双指针)packagecom.liqi.day.day4;importcom.liqi.day.day3.ListNode;publicclassLeetCode_24{//给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)publicstaticvoidmain(String[]args){}
RE_LQ
·
2023-11-20 17:28
算法学习
算法
代码随想录
算法训练
营Day2|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵
977.有序数组的平方packagecom.liqi.day.day2;importjava.util.Arrays;publicclassLeetCode_977{//977.有序数组的平方,给定一个有序数组,要得到该数组中各个元素平方后的有序数组publicstaticvoidmain(String[]args){int[]nums={-2,-1,0,3,5,6};int[]ints=sort
RE_LQ
·
2023-11-20 17:27
算法学习
算法
矩阵
java
代码随想录
算法训练
营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结
代码随想录
算法训练
营第五十五天|LeetCode583.两个字符串的删除操作、72.编辑距离、编辑距离总结文章链接:两个字符串的删除操作、编辑距离、编辑距离总结视频链接:两个字符串的删除操作、编辑距离1
Hsu琛君珩
·
2023-11-20 13:45
算法
leetcode
职场和发展
代码随想录
算法训练
营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
代码随想录
算法训练
营第五十六天|LeetCode647.回文子串、516.最长回文子序列、动态规划总结文章链接:回文子串、最长回文子序列、动态规划总结视频链接:回文子串、最长回文子序列1.LeetCode647
Hsu琛君珩
·
2023-11-20 13:45
算法
leetcode
动态规划
代码随想录
算法训练
营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录
算法训练
营第五十七天|LeetCode739.每日温度、496.下一个更大元素I文章链接:每日温度、下一个更大元素I视频链接:每日温度、下一个更大元素I1.LeetCode739.每日温度1.1
Hsu琛君珩
·
2023-11-20 13:14
算法
leetcode
职场和发展
代码随想录
算法训练
营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录
算法训练
营第五十九天|LeetCode503.下一个更大元素II、42.接雨水文章链接:下一个更大元素II、接雨水视频链接:下一个更大元素II、接雨水1.LeetCode503.下一个更大元素
Hsu琛君珩
·
2023-11-20 13:10
算法
算法训练
营笔记day59|503. 下一个更大元素 II、42. 接雨水
503.下一个更大元素II题目连接笔记classSolution{public:vectornextGreaterElements(vector&nums){stackst;intsize=nums.size();vectorresult(size,-1);st.push(0);for(inti=0;inums[st.top()]){result[st.top()]=nums[i%size];st
weixin_45662787
·
2023-11-20 10:07
算法
笔记
leetcode
代码随想录
算法训练
营第39天| 62.不同路径 63. 不同路径 II
今日学习的文章链接,或者视频链接第九章动态规划part02自己看到题目的第一想法看完代码随想录之后的想法62:自底向上:classSolution{public:intuniquePaths(intm,intn){vector>dp(m,vector(n,1));//for(inti=0;imap;intdp(intm,intn){if(m==1||n==1)return1;if(map.find
D调E点。
·
2023-11-20 08:44
算法
代码随想录
算法训练
营第三十八天【动态规划part01】 | 动态规划理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
动态规划理论基础什么是动态规划动态规划(DynamicProgramming,DP),是求解决策过程最优化的过程。如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优。动态规划的解题步骤对于动态规划问题,我将拆解为如下五步曲,确定dp数组(dptable)以及下标的含义确定递推公式dp
Mako5455
·
2023-11-20 07:11
算法训练
算法
动态规划
代码随想录
算法训练
营第三十七天【贪心算法part06】 | 738.单调递增的数字
738.单调递增的数字题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台求解思路:从后向前遍历,如果前一位数字小于后一位,则将前一位数字减一,并用flag标记当前数字2从flag开始,把后面的所有数字都变成9代码:classSolution{public:intmonotoneIncreasingDigits(intn){stringstrNum=to_string(n);//fl
Mako5455
·
2023-11-20 07:11
算法训练
算法
贪心算法
代码随想录
算法训练
营第三十九天|62.不同路径、63. 不同路径 II
第九章动态规划part0262.不同路径63.不同路径II复习day10今天开始逐渐有dp的感觉了,题目不多,就两个不同路径,可以好好研究一下详细布置62.不同路径本题大家掌握动态规划的方法就可以。数论方法有点非主流,很难想到。代码随想录视频讲解:动态规划中如何初始化很重要!|LeetCode:62.不同路径_哔哩哔哩_bilibili63.不同路径IIhttps://programmercarl
鹌鹑村村长
·
2023-11-20 07:11
代码随想录算法训练营
算法
动态规划
leetcode
数据结构
代码随想录
算法训练
营第四天【链表part02】 | 24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点 、面试题 02.07. 链表相交、142. 环形链表II
24.两两交换链表中的节点题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台求解思路:代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}
Mako5455
·
2023-11-20 07:10
算法训练
算法
链表
面试
代码随想录
算法训练
营第六天【哈希表part01】 | 242.有效的字母异位词、349. 两个数组的交集 、202. 快乐数、1. 两数之和
哈希表的基本概念哈希表(HashTable)是一种根据关键码的值而直接进行访问的数据结构。直白地来说,数组就是一张哈希表,哈希表中的关键码就是数组的索引下标,数组中的元素通过下标来访问。哈希表可用于快速判断一个元素是否出现集合里。例如要查询一个名字是否在这所学校里,枚举的时间复杂度是O(n),如果使用哈希表,时间复杂度仅为O(1)。只需要把这所学校里学生的名字都存在哈希表里,再通过索引查询,即可知
Mako5455
·
2023-11-20 07:10
算法训练
算法
散列表
哈希算法
代码随想录
算法训练
营第三十六天【贪心算法part05】 | 435. 无重叠区间、763.划分字母区间、56. 合并区间
435.无重叠区间题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台求解思路:左边界排序记录重叠区间数代码:classSolution{public:staticboolcmp(constvector&a,constvector&b){returna[0]>&intervals){if(intervals.size()==0)return0;sort(intervals.begin
Mako5455
·
2023-11-20 07:10
算法训练
算法
贪心算法
代码随想录
算法训练
营第一天【数组part01】 | 704. 二分查找、27. 移除元素
数组的基本概念数组:存放在连续内存空间上的相同类型数据的集合。举一个字符数组的例子:数组的特点:数组下标都是从0开始的数组内存空间的地址是连续的需要注意的是:因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址(数组的元素是不能删的,只能覆盖)。C++的tips:要注意vector和array的区别,vector的底层实现是array,严格来讲vecto
Mako5455
·
2023-11-20 07:10
算法训练
算法
代码随想录
算法训练
营第二天【数组part02】 | 977.有序数组的平方 、209.长度最小的子数组、59.螺旋矩阵II
977.有序数组的平方题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台求解思路:代码:classSolution{public:vectorsortedSquares(vector&nums){intleft=0,right=nums.size()-1;vectorresult(nums.size());intindex=nums.size()-1;while(leftnums[
Mako5455
·
2023-11-20 07:10
算法训练
算法
矩阵
线性代数
代码随想录
算法训练
营第四十一天|动态规划part03|● 343. 整数拆分 ● 96.不同的二叉搜索树
●343.整数拆分IntegerBreak-LeetCodedp[i]对i进行拆分,拆分后得到的最大乘积就是dp[i]j*(i-j)//j是1到jj*dp[i-j]//三个数或以上dp[0]=0;dp[1]=0;dp[2]=1;for(inti=3;i<=n;i++)for(intj=1;j<=i/2;j++)//拆成尽可能相似的数dp[i]=max(j*(i-j),j*dp[i-j],dp[i]
2301_78266314
·
2023-11-20 07:39
代码随想录算法训练营
算法
动态规划
leetcode
数据结构
代码随想录
算法训练
营20期|第三十九天| 动态规划part02|● 62.不同路径 ● 63. 不同路径 II
62.不同路径classSolution{publicintuniquePaths(intm,intn){int[][]dp=newint[m][n];for(inti=0;i
2301_78266314
·
2023-11-20 07:39
代码随想录二刷
算法
动态规划
代码随想录
算法训练
营第三十九天|动态规划part02|62.不同路径 ● 63. 不同路径 II
62.不同路径UniquePaths-LeetCodedp[i-1][j]+1从00出发到i-1,j这里有多少不同的路径dp[i][j-1]+1从00出发到i,j-1这里有多少不同的路径dp[i][j]=dp[i-1][j]+dp[i][j-1]dp[0][j]=1;dp[i][0]=1;classSolution{publicintuniquePaths(intm,intn){int[][]dp
2301_78266314
·
2023-11-20 07:09
代码随想录算法训练营
算法
动态规划
代码随想录
算法训练
营第三十九天【动态规划part02】 | 62.不同路径、63. 不同路径 II
62.不同路径题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台求解思路:动规五部曲确定dp数组及其下标含义:dp[i][j]表示从(0,0)出发,到(i,j)有dp[i][j]条路径确定递推公式:只能从左边或上边过来,因此dp[i][j]=dp[i-1][j]+dp[i][j-1]dp数组的初始化:第一行和第一列都初始化为1,因为从原点到[i][0]或[0][j]的路径只有一条确
Mako5455
·
2023-11-20 07:07
算法训练
动态规划
算法
代码随想录
算法训练
营第二十七天|39 组合总和 40 组合总和II 131分割回文串
目录39组合总和40组合总和II131分割回文串39组合总和classSolution{List>res=newArrayListnewList=newLinkedList>combinationSum(int[]candidates,inttarget){dfs(candidates,target,0);returnres;}privatevoiddfs(intcandidates[],intt
魔法恐龙: )
·
2023-11-20 05:01
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十五天| 216 组合总合 ||| 17 电话号码的字母组合
216组合总和|||暴力classSolution{List>res=newArrayListnewList=newArrayList>combinationSum3(intk,intn){soluHelper(1,k,n,0);returnres;}privatevoidsoluHelper(intnum,intk,intn,intsum){if(sum>n)return;//减枝操作if(ne
魔法恐龙: )
·
2023-11-20 05:31
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十八天| 78 子集 90 子集|| 93 复原IP地址
78子集由题意可知数组中的元素互不相同,所以在dfs中我们可以将当前的path直接加入到res中。classSolution{List>res=newArrayListpath=newLinkedList>subsets(int[]nums){dfs(0,nums);returnres;}privatevoiddfs(intcnt,int[]nums){res.add(newLinkedList(
魔法恐龙: )
·
2023-11-20 05:26
代码随想录算法训练营
算法
【
算法训练
营】参数解析+跳石板
欢迎来到Python专栏♀️作者介绍:前PLA队员目前是一名普通本科大三的软件工程专业学生IP坐标:湖北武汉目前技术栈:C/C++、Linux系统编程、计算机网络、数据结构、Mysql、Python(目前在学)博客介绍:通过分享学习过程,加深知识点的掌握,也希望通过平台能认识更多同僚,如果觉得文章有帮助,请您动动发财手点点赞,本人水平有限,有不足之处欢迎大家扶正~最后送大家一句话共勉:知不足而奋
X.Dragon
·
2023-11-20 04:01
算法题解
算法
代码随想录
算法训练
营第29天 | 491.递增子序列、46.全排列、47.全排列 II。
491.递增子序列本题和大家刚做过的90.子集II非常像,但又很不一样,很容易掉坑里。树形结构如下:总结:本题题解清一色都说是深度优先搜索,但我更倾向于说它用回溯法,而且本题我也是完全使用回溯法的逻辑来分析的。46.全排列本题重点感受一下,排列问题与组合问题,组合总和,子集问题的区别。为什么排列问题不用startIndex?总结47.全排列II本题就是我们讲过的40.组合总和II去重逻辑和46.全
Xjy xxxpy
·
2023-11-20 02:34
代码随想录
一刷
算法
阿里巴巴电商搜索推荐实时数仓演进之路
作者:张照亮(士恒)阿里巴巴搜索事业部高级技术专家1.业务背景阿里巴巴电商搜索推荐实时数据仓库承载了阿里巴巴集团淘宝、淘宝特价版、饿了么等多个电商业务的实时数仓场景,提供了包括实时大屏、实时报表、实时
算法训练
阿里云Hologres
·
2023-11-19 18:38
进阶理解:leetcode115.不同的子序列(细节深度)
这道题是困难题,本章是针对于动态规划解决,对于思路进行一个全面透彻的讲解,但是并不是对于基础讲解思路,而是渗透到递推式和dp填数的详解,如果有读者不清楚基本的解题思路,请看我的这篇文章
算法训练
营DAY53
让你明白算法!
·
2023-11-19 17:54
练习
算法
leetcode
c++
动态规划
代码随想录
算法训练
营|五十四天
判断子序列392.判断子序列-力扣(LeetCode)过程:publicclassSolution{publicboolIsSubsequence(strings,stringt){int[,]dp=newint[s.Length+1,t.Length+1];for(inti=1;i<=s.Length;i++){for(intj=1;j<=t.Length;j++){if(s[i-1]==t[j
evil_overall
·
2023-11-19 16:18
代码随想录
算法
leetcode
代码随想录
算法训练
营|五十五天
两个字符串的删除操作583.两个字符串的删除操作-力扣(LeetCode)因为两个字符串都能删除,所以字符不匹配的话就有三个方向取最小值赋值给dp[i,j],不过这里dp[i-1,j-1]+2=dp[i,j-1]+1,从字面上理解就是当同时删word1[i-1]和word2[j-1],dp[i][j-1]本来就不考虑word2[j-1]了,那么我在删word1[i-1],是不是就达到两个元素都删除
evil_overall
·
2023-11-19 16:18
代码随想录
算法
leetcode
代码随想录
算法训练
营|五十六天
回文子串647.回文子串-力扣(LeetCode)dp含义:表示区间内[i,j]是否有回文子串,有true,没有false。递推公式:当s[i]和s[j]不相等,false;相等时,情况一,j-i=0;i--){for(intj=i;j=0;i--){for(intj=i+1;j
evil_overall
·
2023-11-19 16:43
算法
代码随想录
算法训练
营第四十八天|121. 买卖股票的最佳时机|122.买卖股票的最佳时机II
一、121.买卖股票的最佳时机思想:整体思路便是,第i天你可能持有股票和不持有股票两种情况,持有和买的定义是不一样的,然后你持有股票可能是原本就持有传承下来的,还有就是原本没买也没卖你现在买的,不持有股票也有两种,一种是你传承上一次的不持有,或者是你上一次持有,然后到第i天的时候卖出的。二、122.买卖股票的最佳时机II思想;这题完全就是和上面那题差不多,只是有一个区别,上面只能买卖一次,所以你买
igang of rebirth
·
2023-11-19 08:49
算法
代码随想录
算法训练
营第四十七天| 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了198.打家劫舍classSolution:defrob(self,nums:List[int])->int:ifnotnums:return0iflen(nums)==1:returnnums[0]iflen(nums)==2:returnmax(nums[0],nums[1])dp=[0]*len(nums)
Dork_41
·
2023-11-19 08:38
算法
leetcode
职场和发展
代码随想录
算法训练
营第三十九天| 62.不同路径 63.不同路径 II
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:dp=[[1]*nfor_inrange(m)]foriinrange(1,m):forjinrange(1,n):dp[i][j]=dp[i-1][j]+dp[i][j-1]returndp[m
Dork_41
·
2023-11-19 08:08
算法
leetcode
职场和发展
代码随想录
算法训练
营第四十五天| 139.单词拆分
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了139.单词拆分classSolution:defwordBreak(self,s:str,wordDict:List[str])->bool:n=len(s)dp=[False]*(n+1)dp[0]=Truemax_len=max(map(len,wordDict))foriinrange(1,n+1):fo
Dork_41
·
2023-11-19 08:08
算法
leetcode
职场和发展
代码随想录
算法训练
营第四十四天| 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了70.爬楼梯(进阶)classSolution:defclimbStairs2(self,n:int,m:int)->int:dp=[0]*(n+1)dp[0]=1forjinrange(1,n+1):#遍历背包foriinrange(1,m+1):#遍历物品ifj-i>=0:dp[j]+=dp[j-i]retu
Dork_41
·
2023-11-19 08:38
算法
leetcode
职场和发展
代码随想录
算法训练
营第十四天| 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了110.平衡二叉树classSolution:defisBalanced(self,root:Optional[TreeNode])->bool:is_balance=Trueheight,is_balance=self.balance(root,is_balance)returnis_balancedefbal
Dork_41
·
2023-11-19 08:08
算法
leetcode
职场和发展
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
文档讲解:代码随想录视频讲解:无状态:做出来了文档笔记1.数组内存空间的地址是连续的,删除或添加元素的时候会使其他元素的地址变化。2.C++中数组的地址是连续的且地址是以16进制保存的,而Java的数组内存地址不是连续的第一题:二分法我的写法:classSolution:defsearch(self,nums:List[int],target:int)->int:left,right=0,len(
Dork_41
·
2023-11-19 08:07
leetcode
代码随想录
算法训练
营第三天| 203.移除链表元素 707.设计链表 206.反转链表
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了203.移除链表元素第一步,要知道链表的定义方式:classListNode:def__init__(self,val=0,next=None):self.val=valself.next=next一个链表的节点里本身会存储一个数值,然后还会指向另一个链表classSolution:defremoveElemen
Dork_41
·
2023-11-19 08:07
算法
矩阵
数据结构
代码随想录
算法训练
营第四十八天|121. 买卖股票的最佳时机 122.买卖股票的最佳时机II
文档讲解:代码随想录视频讲解:代码随想录B站账号状态:看了视频题解和文章解析后做出来了121.买卖股票的最佳时机classSolution:defmaxProfit(self,prices:List[int])->int:iflen(prices)==0:return0dp=[[0]*2for_inrange(len(prices))]dp[0][0]-=prices[0]foriinrange(
Dork_41
·
2023-11-19 08:04
算法
leetcode
职场和发展
Java实现 蓝桥杯VIP
算法训练
FBI树
问题描述我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:1)T的根结点为R,其类型与串S的类型相同;2)若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串
南 墙
·
2023-11-19 07:33
蓝桥杯VIP
Java
蓝桥杯
蓝桥杯VIP
算法训练
FBI树
蓝杯三十
算法训练
8-2求完数时间限制:50.0s内存限制:256.0MB提交此题问题描述如果一个自然数的所有小于自身的因子之和等于该数,则称为完数。设计算法,打印1-9999之间的所有完数。
逍遥_9353
·
2023-11-19 03:30
代码随想录
算法训练
营第五十七天丨 动态规划part17
647.回文子串思路动态规划动规五部曲:确定dp数组(dptable)以及下标的含义如果大家做了很多这种子序列相关的题目,在定义dp数组的时候很自然就会想题目求什么,我们就如何定义dp数组。绝大多数题目确实是这样,不过本题如果我们定义,dp[i]为下标i结尾的字符串有dp[i]个回文串的话,我们会发现很难找到递归关系。dp[i]和dp[i-1],dp[i+1]看上去都没啥关系。所以我们要看回文串的
叫一只啦啦
·
2023-11-18 17:53
代码随想录算法训练营
算法
动态规划
代码随想录
算法训练
营-day57-647. 回文子串、516.最长回文子序列
647.回文子串学习文章链接:思路:理解回文子串是什么,代码比较简单代码:classSolution{publicintcountSubstrings(Strings){intlen=s.length();boolean[][]dp=newboolean[len][len];intres=0;for(inti=len-1;i>=0;i--){for(intj=i;j=0;i--){for(intj
依旧1919
·
2023-11-17 14:40
代码随想录算法训练营
算法
leetcode
动态规划
代码随想录
算法训练
营第二十四天|77. 组合。
Leetcode77.组合题目链接:77.组合classSolution{private:vector>result;vectorvec;voidtraversal(intn1,intn2,intk){if(k>combine(intn,intk){result.clear();vec.clear();if(k<=n)traversal(1,n,k);returnresult;}};
Allmight_Q
·
2023-11-17 09:31
代码随想录算法训练营十五期
算法
代码随想录
算法训练
营第二十三天|669 修剪二叉搜索树 108 将有序数组转换为二叉搜索树 538 把二叉搜索树转换为累加树
目录669修剪二叉搜索树108将有序数组转换为二叉搜索树538把二叉搜索树转换为累加树669修剪二叉搜索树在递归函数中对当前节点进行判断,有如下四种情况:如果节点为空,则返回空如果节点的值小于low,说明该节点需要被移除且根据二叉搜索树性质,我们应在该节点的右子树中寻找合适的节点如果节点的值大于于high,说明该节点需要被移除且根据二叉搜索树性质,我们应在该节点的左子树中寻找合适的节点。如果不在上
魔法恐龙: )
·
2023-11-17 09:30
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十二天| 235 二叉搜索树的最近公共祖先 701二叉搜索树中的插入操作 450删除二叉搜索树中的节点
目录235二叉搜索树的最近公共祖先递归迭代701二叉搜索树中的插入操作递归迭代450删除二叉搜索树中的节点235二叉搜索树的最近公共祖先p与q有如下三种情况:分别位于最近公共祖先节点的左右子树中一同位于最近公共祖先节点的左或右子树中一个位于中间节点,另一个位于其子树中根据二叉搜索树的有序性,p与q的最近公共祖先一定在[p,q]内,我们最先找到的节点root,能使得q.valp.val&&root.
魔法恐龙: )
·
2023-11-17 09:59
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十四天| 77. 组合
77.组合参考文章:代码随想录参考视频:带你学透回溯算法-组合问题(对应力扣题目:77.组合)|回溯法精讲!_哔哩哔哩_bilibili解题思路:那么我把组合问题抽象为如下树形结构:可以看出这棵树,一开始集合是1,2,3,4,从左向右取数,取过的数,不再重复取。第一次取1,集合变为2,3,4,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2][1,3][1,4],以此类
jeffskater
·
2023-11-17 09:27
算法
数据结构
代码随想录
算法训练
营第二十四天| 77 组合
目录77组合暴力减枝优化77组合暴力classSolution{List>res=newArrayListnewList=newLinkedList>combine(intn,intk){dfs(n,k,1);returnres;}privatevoiddfs(intn,intk,intnum){if(newList.size()==k){res.add(newArrayList>res=newA
魔法恐龙: )
·
2023-11-17 09:54
代码随想录算法训练营
算法
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他