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算法训练
代码随想录
算法训练
营|字符串:总结篇
字符串:总结篇代码随想录什么是字符串字符串是若干字符组成的有限序列,也可以理解为是一个字符数组Java中String是不可变类型,一旦创建无法修改,因此要使用StringBuilder(效率高,线程不安全),StringBuffer(效率低,线程安全)。字符串经典题目
努力学习的小许x
·
2024-01-30 00:01
代码随想录算法训练营
算法
数据结构
java
leetcode
代码随想录
算法训练
58 | 单调栈part01
739.每日温度今天正式开始单调栈,这是单调栈一篇扫盲题目,也是经典题。大家可以读题,思考暴力的解法,然后在看单调栈的解法。就能感受出单调栈的巧妙代码随想录496.下一个更大元素I本题和739.每日温度看似差不多,其实有加了点难度。代码随想录
纽北KING
·
2024-01-30 00:58
算法
代码随想录
算法训练
60 | 单调栈part03
84.柱状图中最大的矩形代码随想录今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。
纽北KING
·
2024-01-30 00:58
算法
代码随想录
算法训练
48 | 动态规划part09
今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。198.打家劫舍视频讲解:动态规划,偷不偷这个房间呢?|LeetCode:198.打家劫舍_哔哩哔哩_bilibili代码随想录213.打家劫舍II视频讲解:动态规划,房间连成环了那还偷不偷呢?|LeetCode:213.打家劫舍II_哔哩哔哩_bilibili代码随想录337.打家劫舍III视频讲解:动态规划,房间连成树了,偷不偷呢?|
纽北KING
·
2024-01-30 00:28
LeetCode刷题训练
动态规划
算法
代码随想录
算法训练
50 | 动态规划part11
123.买卖股票的最佳时机III这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。视频讲解:动态规划,股票至多买卖两次,怎么求?|LeetCode:123.买卖股票最佳时机III_哔哩哔哩_bilibili代码随想录188.买卖股票的最佳时机IV本题是123.买卖股票的最佳时机III的进阶版视频讲解:动态规划来决定最佳时机,至多可以买卖K次!|Lee
纽北KING
·
2024-01-30 00:28
LeetCode刷题训练
动态规划
算法
代码随想录
算法训练
57 | 动态规划part17_总结篇
647.回文子串动态规划解决的经典题目,如果没接触过的话,别硬想直接看题解。代码随想录516.最长回文子序列647.回文子串,求的是回文子串,而本题要求的是回文子序列,大家要搞清楚两者之间的区别。代码随想录动态规划总结篇代码随想录
纽北KING
·
2024-01-30 00:28
算法
动态规划
代码随想录
算法训练
02 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
977.有序数组的平方题目建议:本题关键在于理解双指针思想题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台文章讲解:代码随想录视频讲解:双指针法经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibili209.长度最小的子数组题目建议:本题关键在于理解滑动窗口,这个滑动窗口看文字讲解还挺难理解的,建议大家先看视频讲解。拓展题目可以先不做。题目链接:力扣(Lee
纽北KING
·
2024-01-30 00:57
LeetCode刷题训练
算法
数据结构
c++
代码随想录
算法训练
61 | 总结篇
前面60天的刷题大概是按照如下类型来刷:数组->链表->哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->单调栈。每道题目都是精心筛选,都是经典题目高频面试题。并且,每个专题开始都有理论基础篇,并不像是教科书般的理论介绍,而是从实战中归纳需要的基础知识。每个专题结束都有总结篇,是这个专题的归纳总结。一刷最大的进步和收获便是初步构建起了完整的算法知识体系,后面要坚持二刷与三刷。数组数
纽北KING
·
2024-01-30 00:27
LeetCode刷题训练
算法
数据结构
链表
贪心算法
动态规划
leetcode
散列表
代码随想录
算法训练
营day4 | 链表(2)
一、LeetCode24两两交换链表中的节点题目链接:24.两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/思路:设置快慢指针,暂存节点逐对进行交换。代码优化前:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListN
橙南花已开
·
2024-01-30 00:13
代码随想录算法训练营
算法
链表
数据结构
代码随想录
算法训练
营day3 | 链表 (1)
一、链表理论基础链表是一种通过指针串联在一起的线性结构,每个节点由两部分组成:数据域和指针域(指向下一个节点),最后一个节点的指针指向NULL(空指针)。--Carl链表性能分析:链表的Java定义:publicclassListNode{//结点的值intval;//下一个结点ListNodenext;//节点的构造函数(无参)publicListNode(){}//节点的构造函数(有一个参数)
橙南花已开
·
2024-01-30 00:12
代码随想录算法训练营
链表
数据结构
代码随想录
算法训练
营DAY6 | 哈希表(1)
DAY5休息一天,今天重启~哈希表理论基础:代码随想录Javahash实现:java哈希表-CSDN博客一、LeetCode242有效的字母异位词题目链接:242.有效的字母异位词思路:设置字典classSolution{publicbooleanisAnagram(Strings,Stringt){intslen=s.length(),tlen=t.length();if(slen!=tlen)
橙南花已开
·
2024-01-30 00:11
散列表
leetcode
数据结构
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
Day1:二分法:第一种情况:区间左闭右闭情况左闭右闭区间的这种情况,主要左右边界的取值情况以及Mid的判断条件。classSolution{public:intsearch(vectornums,inttarget){intleft=0;intright=nums.size()-1;while(lefttarget)//目标值在中值左侧,需要更新右边界且排除了mid值{right=mid-1;}
在下雨599
·
2024-01-29 22:45
算法
leetcode
数据结构
代码随想录
算法训练
营第三天| 链表part1
203.移除链表元素:题目链接/文章讲解/视频讲解::代码随想录classSolution{publicListNoderemoveElements(ListNodehead,intval){ListNodedummy=newListNode(-1);dummy.next=head;ListNodecur=dummy;while(cur.next!=null){if(cur.next.val==v
白白白揍粽
·
2024-01-29 21:40
算法
链表
数据结构
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
记录刷题Day1704.二分查找斜体样式了解了左闭右闭[left,right]和左闭右开[left,right)两种方式一、采用左闭右闭时,while条件中应遵从闭区间原则,为lefttarget):#target在[mid+1,right]范围内,mid一定不是target,所以直接取mid+1l=mid+1elif(nums[mid]target):#target在[middle+1,righ
枫林_panda
·
2024-01-29 21:10
算法
代码随想录
算法训练
营第三天 | 链表part01
链表节点的定义,一定要牢记//单链表structListNode{intval;//节点上存储的元素ListNode*next;//指向下一个节点的指针ListNode(intx):val(x),next(NULL){}//节点的构造函数};这里的构造函数非必需,但能方便我们定义新的链表节点1.创建一个链表节点:ListNode*head=newListNode(5);2.使用默认构造函数初始化节
MHX2
·
2024-01-29 21:09
算法
链表
数据结构
代码随想录
算法训练
营Day4 | 链表part02
24.两两交换链表中的节点leetcode链接代码随想录链接一刷状态:通过思路保存三个需要交互的节点,根据下方的逻辑交换即可。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(n
锋_Feng
·
2024-01-29 21:39
算法
链表
数据结构
c++
leetcode
代码随想录
算法训练
营第四天-链表part2
day2和day3回家太晚,刷完题忘记写笔记了--!24.两两交换链表中的节点给自己的笔记:虚拟节点法是创建一个节点,它的next指针指向链表的头节点,这样便于:current指向虚拟节点,然后对链表进行操作交换最后返回头节点:returndummyNode.next#Definitionforsingly-linkedlist.#classListNode(object):#def__init_
枫林_panda
·
2024-01-29 21:07
算法
链表
数据结构
代码随想录
算法训练
营第十六天 | LeetCode104 二叉树的最大深度 LeetCode111 二叉树的最小深度 LeetCode222 完全二叉树的节点个数
LeetCode104二叉树的最大深度题目链接:二叉树的最大深度文章链接:二叉树的最大深度思路使用层序遍历是最为合适的,因为最大的深度就是二叉树的层数。代码classSolution{public:intmaxDepth(TreeNode*root){queueque;intdepth=0;if(root!=nullptr)que.push(root);while(!que.empty()){in
程序员劝退师_
·
2024-01-29 19:33
代码随想录
算法
数据结构
代码随想录
算法训练
营第十四天 | 二叉树理论基础 递归遍历 迭代遍历 统一迭代
二叉树理论基础文章链接:二叉树理论基础视频链接:二叉树理论基础二叉树的定义structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};二叉树的递归遍历视频链接:二叉树的递归遍历写递归的三要素:确定递归函数的参数和返回值确定终止条件确定单层递归的逻辑LeetCod
程序员劝退师_
·
2024-01-29 19:03
代码随想录
算法
代码随想录
算法训练
营第十五天 | 二叉树的层序遍历 LeetCode226 翻转二叉树 LeetCode101 对称二叉树
二叉树的层序遍历文章链接:二叉树的层序遍历视频链接:二叉树的层序遍历LeetCode102二叉树的层序遍历题目链接:二叉树的层序遍历视频链接:二叉树的层序遍历文章链接:二叉树的层序遍历思路利用队列这个数据结构来记录每一层遍历的元素,并记录在当前层时队列的大小,当前层元素出队,并让其左右孩子入队,更新队列的大小,恰好队列的大小就是当前层元素的个数,遍历这个队列时,只需要弹出队列大小个数的元素,弹出的
程序员劝退师_
·
2024-01-29 19:03
代码随想录
算法
代码随想录
算法训练
营第七天 | LeetCode454 四数相加Ⅱ LeetCode383 赎金信 LeetCode15 三数之和 LeetCode18 四数之和
LeetCode454四数相加Ⅱ题目链接:四数相加Ⅱ文章链接:四数相加Ⅱ视频链接:四数相加Ⅱ思路因为C++还在学习中,还没到set和map这里,所以就先看视频了。不过这题肯定有暴力的解法,就是用四个for循环遍历所有的情况,用count记录,然后count++,最终返回count即可,但时间复杂度是n的四次方,不太建议这么做。------------------------------------
程序员劝退师_
·
2024-01-29 19:02
代码随想录
算法
代码随想录
算法训练
营第六天 | LeetCode242 有效的字母异位词 LeetCode349 两个数组的交集 LeetCode202 快乐数 LeetCode1 两数之和
LeetCode242有效的字母异位词题目链接:有效的字母异位词文章链接:有效的字母异位词视频链接:有效的字母异位词思路因为C++还在学习中,没有到set和map这里,只能先看视频讲解了。但多多少少还有点思路,能否实现不清楚,思路是这样的:创建虚拟数组,遍历第一个字符串,记录每个元素出现的次数,放入虚拟数组中;同样创建另一个虚拟数组,遍历第二个字符串,记录每个元素出现的次数,放入该虚拟数组中。之后
程序员劝退师_
·
2024-01-29 19:32
代码随想录
算法
代码随想录
算法训练
营第十七天 | LeetCode110 平衡二叉树 LeetCode257 二叉树所有的路径 LeetCode404 左叶子之和
LeetCode110平衡二叉树题目链接:平衡二叉树文章链接:平衡二叉树视频链接:平衡二叉树思路一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。高度是指距离叶子节点的距离,深度是只距离根节点的距离。**求高度用后序遍历,求深度用前序遍历。**整体思路是求出左右子树的高度之差,并返回给父节点,判断该父节点是否是平衡二叉树,若所有节点都满足平衡二叉树,则该二叉树为平
程序员劝退师_
·
2024-01-29 19:31
代码随想录
算法
数据结构
代码随想录
算法训练
营Day42|0-1背包理论基础、416. 分割等和子集
目录0-1背包理论基础0-1背包问题二维dp数组01背包算法实现一维dp数组01背包编辑算法实现416.分割等和子集前言思路算法实现总结0-1背包理论基础0-1背包问题题目链接https://kamacoder.com/problempage.php?pid=1046有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解
张金卓2023
·
2024-01-29 19:48
算法
代码随想录
算法训练
营Day41|343. 整数拆分、96.不同的二叉搜索树
目录343.整数拆分前言思路算法实现96.不同的二叉搜索树前言思路算法实现总结343.整数拆分题目链接文章链接前言本题要使得整数拆分后的乘积最大,使用动态规划求解难在递推公式的推导。思路利用动态规划五部曲来进行实现:1.确定dp数组以及下标的含义:dp[i]:拆分数字i,可以得到的最大乘积为dp[i]。2.确定递推公式:思考dp[i]最大乘积是如何得到的?一种是j*(i-j)直接相乘,另一种是j*
张金卓2023
·
2024-01-29 19:17
算法
代码随想录
算法训练
营Day39|62.不同路径、63. 不同路径 II
目录62.不同路径思路算法实现63.不同路径II前言思路算法实现总结62.不同路径题目链接文章链接思路机器人从(0,0)位置出发,到(m-1,n-1)终点。依旧按照动态规划五部曲来进行:1.确定dp数组以及下标的含义:由于题目给的是mXn的网格,因此可以创建二维数组dp[i][j],dp[i][j]:表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径;2.确定递推公式:要求dp[i]
张金卓2023
·
2024-01-29 19:16
算法
代码随想录
算法训练
营29期Day32|LeetCode 122,55,45
文档讲解:买卖股票的最佳时机II跳跃游戏跳跃游戏II122.买卖股票的最佳时机II题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/思路:这题很简单,是要求我们买卖股票,然后算最多赚多少。我们可以意识到这样一件事:我们连续几天买卖股票赚的钱,其实就是我们每天赚的钱加起来就行。所以我们这道
tlingyuqi
·
2024-01-29 14:26
代码随想录算法训练营29期
算法
leetcode
职场和发展
c++
算法训练
|动态规划之背包问题复习
背包问题分类:(主要分为两类)一:01背包:给一个数组或者容器,容器中的数据只能使用一次,问装满背包的最大价值为多少。二:完全背包:给一个数组或者容器,容器中的数据可无限使用,问装满背包的最大价值为多少。不一定是问装满背包的最大价值是多少,这只是一个通用的说法01背包:01背包又分为两种方法:二维数组和一维数组。(动态规划数组用dp表示,重量数组为weight,很多题目物品重量同时也是物品的价值)
zhangke_EX
·
2024-01-29 14:21
算法
动态规划
算法训练
|下一个排列
31.下一个排列-力扣(LeetCode)总结:能读懂题目的意思,但是不知道如何下手题解以及解法:1、我们需要将一个左边的「较小数」与一个右边的「较大数」交换,以能够让当前排列变大,从而得到下一个排列。2、同时我们要让这个「较小数」尽量靠右,而「较大数」尽可能小。当交换完成后,「较大数」右边的数需要按照升序重新排列。这样可以在保证新排列大于原来排列的情况下,使变大的幅度尽可能小。以排列[4,5,2
zhangke_EX
·
2024-01-29 14:16
算法
代码随想录
算法训练
营day15|226.翻转二叉树、101.对称二叉树
层序遍历看完本篇可以一口气刷十道题,试一试,层序遍历并不难,大家可以很快刷了十道题。题目链接/文章讲解/视频讲解:代码随想录226.翻转二叉树(优先掌握递归)这道题目一些做过的同学理解的也不够深入,建议大家先看我的视频讲解,无论做过没做过,都会有很大收获。题目链接/文章讲解/视频讲解:代码随想录101.对称二叉树(优先掌握递归)先看视频讲解,会更容易一些。题目链接/文章讲解/视频讲解:代码随想录T
万事大吉CC
·
2024-01-29 02:23
代码随想录
数据结构
代码随想录
算法训练
营29期|day31 任务以及具体安排
理论基础关于贪心算法,你该了解这些!题目分类大纲如下:#算法公开课《代码随想录》算法视频公开课(opensnewwindow):贪心算法理论基础!(opensnewwindow),相信结合视频再看本篇题解,更有助于大家对本题的理解。#什么是贪心贪心的本质是选择每一阶段的局部最优,从而达到全局最优。这么说有点抽象,来举一个例子:例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?指定
-源潮-
·
2024-01-29 00:36
算法
leetcode
数据结构
java
代码随想录
代码随想录
算法训练
营29期|day30 任务以及具体安排
332.重新安排行程classSolution{privateLinkedListres;privateLinkedListpath=newLinkedListfindItinerary(List>tickets){Collections.sort(tickets,(a,b)->a.get(1).compareTo(b.get(1)));path.add("JFK");boolean[]used=
-源潮-
·
2024-01-29 00:35
算法
数据结构
leetcode
java
代码随想录
算法训练
营29期|day30 任务以及具体安排 回溯总结篇
回溯总结篇#回溯法理论基础转眼间「代码随想录」(opensnewwindow)里已经分享连续讲解了21天的回溯算法,是时候做一个大总结了,本篇高能,需要花费很大的精力来看!关于回溯算法理论基础,我录了一期B站视频带你学透回溯算法(理论篇)(opensnewwindow)如果对回溯算法还不了解的话,可以看一下。在关于回溯算法,你该了解这些!(opensnewwindow)中我们详细的介绍了回溯算法的
-源潮-
·
2024-01-29 00:35
算法
数据结构
leetcode
java
代码随想录
算法训练
营29期|day 11 任务以及具体安排
20.有效的括号classSolution{publicbooleanisValid(Strings){Dequedeque=newLinkedListdeque=newArrayDequestack=newLinkedList();for(Strings:tokens){if("+".equals(s)){//leetcode内置jdk的问题,不能使用==判断字符串是否相等stack.push(
-源潮-
·
2024-01-29 00:05
算法
代码随想录
算法训练
营29期|day 17 任务以及具体安排
110.平衡二叉树classSolution{/***递归法*/publicbooleanisBalanced(TreeNoderoot){returngetHeight(root)!=-1;}privateintgetHeight(TreeNoderoot){if(root==null){return0;}intleftHeight=getHeight(root.left);if(leftHei
-源潮-
·
2024-01-29 00:05
算法
java
开发语言
代码随想录
算法训练
营29期|day 20 任务以及具体安排
654.最大二叉树classSolution{publicTreeNodeconstructMaximumBinaryTree(int[]nums){returnconstructMaximumBinaryTree1(nums,0,nums.length);}publicTreeNodeconstructMaximumBinaryTree1(int[]nums,intleftIndex,intri
-源潮-
·
2024-01-29 00:05
算法
数据结构
代码随想录
算法训练
营29期|day 24 任务以及具体安排
理论基础#什么是回溯法回溯法也可以叫做回溯搜索法,它是一种搜索的方式。在二叉树系列中,我们已经不止一次,提到了回溯,例如二叉树:以为使用了递归,其实还隐藏着回溯(opensnewwindow)。回溯是递归的副产品,只要有递归就会有回溯。所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。#回溯法的效率回溯法的性能如何呢,这里要和大家说清楚了,虽然回溯法很难,很不好理解,但是回溯法并不是什么高
-源潮-
·
2024-01-29 00:05
算法
数据结构
leetcode
java
代码随想录
算法训练
营29期|day32 任务以及具体安排
第八章贪心算法part02122.买卖股票的最佳时机II//贪心思路classSolution{publicintmaxProfit(int[]prices){intresult=0;for(inti=1;i=nums.length-1){returntrue;}}returnfalse;}}思路:更新覆盖范围,如果覆盖范围>=最后一个点的位置,就returntrue,注意!!!!要在覆盖范围内更
-源潮-
·
2024-01-29 00:35
算法
leetcode
java
数据结构
代码随想录
贪心算法
代码随想录
算法训练
营第四十五天|70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数
题目:70.爬楼梯(进阶)文章链接:代码随想录题目链接:卡码网题目链接图释:#include#includeusingnamespacestd;intmain(){intn,m;while(cin>>n>>m){//m表示至多爬m个台阶[1,2,...m]n表示楼顶数//dp[i]表示达到第i个台阶有dp[i]中方法(排列问题)vectordp(n+1,0);dp[0]=1;//初始化//因为dp
一楼二栋
·
2024-01-29 00:33
算法
leetcode
c++
代码随想录
算法训练
营第四十四天|完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ
题目:完全背包文章链接:代码随想录视频链接:LeetCode:完全背包题目链接:卡码网题目链接图释:#include#includeusingnamespacestd;//先遍历背包,再遍历物品voidtest_CompletePack(vectorweight,vectorvalue,intbagWeight){vectordp(bagWeight+1,0);for(intj=0;j=0)dp[
一楼二栋
·
2024-01-29 00:03
算法
c++
leetcode
代码随想录
算法训练
营第四十三天|1049. 最后一块石头的重量 II、 494. 目标和、474.一和零
题目:1049.最后一块石头的重量II文章链接:代码随想录视频链接:LeetCode:1049.最后一块石头的重量||题目链接:力扣题目链接图释:classSolution{public:intlastStoneWeightII(vector&stones){//其实也是尽可能地将一堆石头分成两部分,它们相互抵消vectordp(1501,0);//背包中最大石头的重量(30*100/2)ints
一楼二栋
·
2024-01-29 00:02
算法
leetcode
c++
代码随想录
算法训练
营第四十六天|139.单词拆分、多重背包、背包问题总结
题目:139.单词拆分文章链接:代码随想录视频链接:LeetCode:139.单词拆分题目链接:力扣题目链接图释:classSolution{public:boolwordBreak(strings,vector&wordDict){//将字符串的列表装到set数组中,方便查找findunordered_setwordSet(wordDict.begin(),wordDict.end());//d
一楼二栋
·
2024-01-29 00:31
算法
c++
leetcode
蓝桥杯
算法训练
平方计算
问题描述输入正整数a,m,输出a^2%m,其中^表示乘方,即a^2表示a的平方,%表示取余。输入格式输入包含两个整数a,m,a不超过10000。输出格式输出一个整数,即a^2%m的值。样例输入56样例输出1注:a的平方可以写成a*a#include#includeusingnamespacestd;intmain(){inta,m;cin>>a>>m;cout<<a*a%m;return0;}
开心比对错重要
·
2024-01-28 21:44
蓝桥杯
算法
c++
c语言
数据结构
代码随想录
算法训练
营第22天 | LeetCode.235.二叉搜索树的最近公共祖先、LeetCode.701.二叉搜索树中的插入操作、LeetCode.450删除二叉搜索树中的节点
题目链接:235.二叉搜索树的最近公共祖先-力扣(LeetCode)作者思考:本题也是求最近的公共祖先,那么这题和之前那个求公共祖先的题目有什么区别呢?本题给我们的二叉树是搜索二叉树,也就是这个二叉树是一个有序二叉树。当题目给我们这种信息,我们一定要利用好二叉搜索树的特性。因为是有序树,所以如果中间结点是q和p的公共祖先,那么中结点的数组一定在[p,q]区间。即中结点>p&&中结点q&&中结点p.
Ewng
·
2024-01-28 18:52
算法
c++
leetcode
算法训练
day22Leetcode236二叉搜索树的最近祖先701二叉搜索树中的插入操作450删除二叉搜索树中的节点
235二叉搜索树的最近公共祖先题目描述https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/我的想法利用二叉搜索树特性遍历,从上到下遍历题目分析在有序树里,如果判断一个节点的左子树里有p,右子树里有q呢?因为是有序树,所有如果中间节点是q和p的公共祖先,那么中节点的数组一定是在
dc爱傲雪和技术
·
2024-01-28 17:41
算法
代码随想录
算法训练
营第十五天| 102. 二叉树的层序遍历、226.翻转二叉树、101. 对称二叉树
文章目录1.二叉树的层序遍历2.翻转二叉树3.对称二叉树1.二叉树的层序遍历给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000
这是最后一个BUG
·
2024-01-28 16:24
算法记录
算法
c++
代码随想录
算法训练
营第十二天|239. 滑动窗口最大值、347.前 K 个高频元素
文章目录1.滑动窗口最大值2.前K个高频元素1.滑动窗口最大值给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:示例2:输入:nums=[1],k=1输出:[1]提示:1
这是最后一个BUG
·
2024-01-28 16:54
算法记录
算法
代码随想录
算法训练
营第十四天| 二叉树理论基础、递归遍历
文章目录二叉树理论基础篇2.二叉树的前序遍历二叉树理论基础篇1.二叉树的种类满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。完全二叉树:除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置(优先级队列就是一个堆,堆就是一棵完全二叉树,同时保证父子节点的顺序关系)。二叉搜索树:是一个有序树
这是最后一个BUG
·
2024-01-28 16:54
算法记录
c++
算法
代码随想录
算法训练
营第八天|344.反转字符串、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串
文章目录1.反转字符串2.反转字符串II3.替换数字4.翻转字符串里的单词5.右旋转字符串1.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=["h","e","l","l","o"]输出:["o","l","l","e","h"]示例2:输入:s
这是最后一个BUG
·
2024-01-28 16:53
算法记录
算法
代码随想录
算法训练
营第十天|232.用栈实现队列、225. 用队列实现栈
文章目录栈与队列内部实现机制1.用栈实现队列2.用队列实现栈栈与队列内部实现机制1.栈的理论基础栈提供push和pop等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。不像是set或者map提供迭代器iterator来遍历所有元素。栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。
这是最后一个BUG
·
2024-01-28 16:53
算法记录
算法
c++
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他