自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 2021-11-09 leetcode 动态规划 714.买卖股票的最 佳时机含手续费 c++

题目 leetcode 714.买卖股票的最佳时机含手续费和

2021-11-09 19:12:50 762

原创 2021-11-08 leetcode 动态规划 139.单词拆分 c++

题目 leetcode 139.单词拆分Question: 是否可以将s用空格拆成wordDict中的单词?思路将s用substr函数拆开,再与wordDict中每个单词匹配。(s长度为n)在s[0…I]匹配的情况下,s[i+1…n-1]也匹配,则s可被wordDict中的单词拆分。(这里被拆分两次,也可以拆分更多次)采用动态规划实现,具体思路如下:step1: 初始化dp[n+1]=[false,false,…,false]。dp[I]:s前I位可以被wordDict中的单词表示。ste

2021-11-08 20:31:51 676

原创 2021-11-05 leetcode 42.接雨水 c++

题目 leetcode 42.接雨水示例法一:BF算法从hegiht[1]遍历到height[n-2](假设height.size() == n),求出每个位置存储的雨水量,然后累加。遍历到的height[I]存储的雨水量 == 其左边的数组数字的最大值和右边的数组数字的最大值中的较小值 - height[i]的值取左右两边的最大值中较小的一方,可用木桶效应来理解。时间复杂度:O(n^2) 超时AC代码class Solution {public: int trap(vector

2021-11-06 18:18:45 254

原创 2021-11-04 leetcode 动态规划 1014.最 佳观光团 c++

题目要素景点j(j>=1),及value[j]。I<j,可遍历j前的所有景点I,和value[i]。res = value[I] + value[j] -(I - j) = value[I] + value[j] + I - j;现求最大res思路遍历j,再遍历j前的所有i,找到最大res,显然时间复杂度为O(n^2),使用以下算法实现时间复杂度降低。已知 res = value[I] + value[j] + I - j = (value[I] + I )+( value[j

2021-11-04 21:35:42 272

原创 2021-11-04 leetcode 动态规划 45.跳跃游戏2 c++

题目思路贪心首先 实现nums[0]的第一次跳跃,跳跃范围为range,在range范围内遍历nums[i],找到最远可跳跃距离index。遍历到I == range时,即范围内的元素都遍历时,进行下一次最远距离跳跃,即跳index个单位。当range超出nums.size()-1时,即能够跳到最后一个位置甚至更远,此时返回最小次数。注意:若nums.size() == 1,则step == 0,即不需要跳。因此,这个判断if(range >= nums.size()-1) //当前范

2021-11-04 19:41:49 2455

原创 2021-11-02 leetcode 动态规划 55.跳跃游戏 c++

leetcode 55.跳跃游戏要素已知nums[n]nums[I]为可跳跃的最大长度,即可跳跃距离<=nums[i]从nums[0]开始,通过不断跳跃是否能达到nums[n-1]思路1:nums[0]跳跃后的范围内所有格子都可以作为起跳点,eg:nums[0] = 3,则后面3个格子都可以作为起跳点。2:每个格子作为起跳点能够达到的最大距离记作maxStep,每个起跳点都跳到最远距离来更新maxStep3:若maxStep >= n-1,即能一直跳到最后,则成功class

2021-11-02 19:53:14 2159

原创 2021-11-01 leetcode 动态规划 740.删除并获取点数 c++

题目解释选定nums数组中一个元素nums[i] = x。删除nums[i]以及所有等于 x-1或 x+1 的元素。然后,再继续对其他元素进行相同操作。思路1: 若选择了 x,所有等于 x 的元素也应一同被选择。解释:在选定x之后,删除值为x和所有值为x+1、x-1的元素。此时,若还有多个值为 x的元素,由于所有等于 x-1或 x+1 的元素已经被删除,我们可以直接删除全部 x 并获得其点数。因此,若选择了 x,所有等于 x 的元素也应一同被选择,以尽可能多地获得点数。2:用sum[x]将相同.

2021-11-01 22:05:38 177

原创 2021-10-31 leetcode 动态规划 198.打家劫舍 213.打家劫舍2 c++

要素不能连续盗窃,求盗窃最大金额思路用dp[i][2]来表示盗窃最大金额dp[i][0]: 对第i家未进行盗窃的状态下累积之前的最大盗窃金额dp[i][1]: 对第i家进行盗窃的状态下(对第i家盗窃则意味着对第i-1家未进行盗窃)累积之前的最大盗窃金额可得状态转移方程如下(1)dp[i][0] = max(dp[i-1][0], dp[i-1][1])(2)dp[i][1] = dp[i-1][0] + nums[i]AC代码class Solution {public: i.

2021-10-31 16:42:09 205

原创 2021-10-31 leetcode 动态规划 746.使用最小花费爬楼梯 c++

对于题目的另外一种表述方式:每个阶梯都有一定数量糖果,一次只能跨一个或者两个阶梯,走到一个阶梯就要吃光上面的糖果,问怎么走才能吃最少的糖果?开局你选前两个阶梯的其中一个作为开头点,并吃光该阶梯的糖果。思路当前吃掉的糖果数 ==当前阶梯上有的糖果数 + min(在前1阶时已吃糖果数, 在前2阶时,已吃糖果数);利用min函数来选择已吃糖果数更少的阶梯,以达到状态转移。dp[i]为台阶i上的糖果数状态转移方程:dp[i] += min(dp[i-1], dp[i-2]);class Solut.

2021-10-31 15:50:58 137

原创 2021-10-29 leetcode 动态规划 70.爬楼梯 c++

定义dp[i]: 爬到第i层楼梯,有dp[i]种方法方法引入有5个台阶第一次爬:i)爬1阶,现还剩4阶,在4阶的情况下又有两种方法ii)爬2阶,现还剩3阶,在3阶的情况下又有两种方法第一次爬有两种方法。即在有5个台阶的情况下,可以选择爬1阶,并加上爬其余4阶的方法;或者选择爬2阶,并加上爬其余3阶的方法。可得dp(5) = dp(4) + dp(3)对于有4个台阶和3个台阶想法同理,一直拆解直至只有2个台阶或者一个台阶。思路爬楼梯的两种办法:每次一阶或两阶对于n个楼梯的爬楼方法 =.

2021-10-29 21:45:25 318

原创 2021-10-27 leetcode 数据结构 N叉树 559.N 叉树的最大深度 c++

leetcode 559.N 叉树的最大深度思路利用dfs,遍历每一层结点,并将下一层结点加入队列,结束每一层之后,层数+1思路和N叉树的层序遍历大致相同N叉树的遍历/*// Definition for a Node.class Node {public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; } Nod

2021-10-27 20:09:12 83

原创 2021-10-26 leetcode 数据结构 N叉树的遍历 c++

N叉树的遍历前序遍历在 N 叉树中,前序遍历指先访问根节点,然后逐个遍历以其子节点为根的子树。上述三叉树的前序遍历是:A->B->C->E->F->D->G.后序遍历在 N 叉树中,后序遍历指前先逐个遍历以根节点的子节点为根的子树,最后访问根节点。上述三叉树的后序遍历是:B->E->F->C->G->D->A.层序遍历N 叉树的层序遍历与二叉树的一致。通常,当我们在树中进行广度优先搜索时,我们将按层序的顺序进行遍历。

2021-10-26 20:40:25 577

原创 2021-10-25 leetcode 数据结构 二叉树 二叉树的序列化与反序列化 c++

题目 二叉树的序列化与反序列化序列化 :将二叉树转化为一个字符串反序列化 :将字符串还原为二叉树eg进行反序列化,得:[1,2,null,null,3,4,5]思路反序列化使用递归step1:将当前结点利用to_string函数转化为字符串step2:通过递归将子结点再下一次转化为字符串step3:将当前结点转化为字符串后与递归后的子结点通过+连接起来(字符串相加来连接)ps: to_string的作用是把数值类型如int、double、long等转化为string反序列化实现

2021-10-25 21:05:16 193

原创 2021-10-24 数据结构 二叉树 从前序与中序遍历序列构造二叉树 c++

和从中序与后序遍历序列构造二叉树类似对于任意一颗树:根节点总是前序遍历中的第一个节点,前序遍历的形式总是:[ 根节点, [左子树的中序遍历结果], [右子树的中序遍历结果]]中序遍历的形式总是:[ [左子树的中序遍历结果], 根节点, [右子树的中序遍历结果] ]已知1: 前序遍历的第一个一定是根节点。2: 中序遍历能区分出左右子树。3: 中序遍历和后序遍历的左右子树的长度一定是相等。那么从前序遍历中得到根结点,将中序遍历中的左右子树分割开,用得到的左右子树的长度再将前序遍历.

2021-10-24 17:03:51 1658

原创 2021-10-21 leetcode 数据结构 106.从中序与后序遍历序列构造二叉树 c++

本来不会,然后看到了这篇解题思路106.从中序与后序遍历序列构造二叉树的解答。写的非常详细!下面再以自己的理解写下解题思路吧!对于任意一颗树:根节点总是后序遍历中的最后一个节点,后序遍历的形式总是:[ [左子树的中序遍历结果], [右子树的中序遍历结果] ,根节点]中序遍历的形式总是:[ [左子树的中序遍历结果], 根节点, [右子树的中序遍历结果] ]已知1: 后序遍历的最后一个一定是根节点。2: 中序遍历能区分出左右子树。3: 中序遍历和后序遍历的左右子树的长度一定是相等。

2021-10-21 21:25:31 276

原创 2021-10-19 leetcode 数据结构 填充每个节点的下一个右侧节点指针 II c++

要将一层的结点连接起来,又需要父结点的兄弟结点的帮助,则站在第一层来连接第二层的结点。由于第一层已经连接好,因此父结点的兄弟结点可由root->next找到对于root的左结点(若存在):若root的右结点存在,则左结点指向右结点;若不存在,则需要root的兄弟结点uncle结点,通过uncle结点来找附近的右侧结点对于root的右结点(若存在):直接利用uncle结点来找附近的右侧结点以下AC代码/*// Definition for a Node.class Node {pu..

2021-10-19 21:21:14 144

原创 2021-10-19 leetcode数据结构 树 116.填充每个节点的下一个右侧节点指针 c++

完美二叉树(又称 满二叉树)一个深度为k(>=-1)且有2^(k+1) - 1个结点的二叉树称为完美二叉树。//树的深度指的是树中结点的最大层次。深度怎么能为-1?即:树是满的且树是二叉的。如图所示Leetcode 填充每个节点的下一个右侧节点指针通过将某结点的左右结点传到函数中,使得左结点的next指针指向右结点,下图红线表示再通过1指向2,2指向3,3指向4,这个指向关系,将该结点下的四个子结点放进递归中,以确定next指针//若dfs(left,right)函数的作用为:left

2021-10-19 20:45:54 139

原创 2021-10-18 leetcode 数据结构 236.二叉树的最近公共祖先 c++

二叉树的最近公共祖先: 对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。我的理解:先将p、q的祖先分别找出来,取交集,再取交集中离p、q最近的节点,即为最近的公共祖先。如图所示,若p是值为6的结点,q是值为7的结点,则它们的最近公共祖先是值为5的结点以此例引入求解思路:从根结点一层层嵌套访问左右结点,直至访问到目标结点(p、q),否则一直访问到叶子结点。在访问到目标结点后,将目标结点递归回去;.

2021-10-18 20:14:40 95

原创 2021-10-16 leetcode 数据结构 树 112.路径总和 c++

利用dfs以及递归深入到根结点,并将路径上的结点值全部加上在最后进行判断值得注意的是,每一次是在最后递归的时候才将root当前值加上去,因此在根结点处判断时,需要将根结点的值加上去再进行判断AC代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0).

2021-10-16 20:52:52 108

原创 2021-10-15 leetcode 数据结构 树 101.对称二叉树 c++

判断二叉树是否是对称key:比较子结点,对应的两个子节点的值必须相同左子结点必须等于右子结点(若存在,则值必须相等;若不存在,则都等于nullptr)左子结点的右子结点必须等于右子结点的左子结点左子节点的左子节点必须等于右子节点的右子节点以下两种解决方法,在第一次判断传址的两个左右结点,都是根结点,也就是将root看作两个相同的结点进行判断;递归解决每一次只用判断:左子结点必须等于右子结点将左子结点的右子结点和右子结点的左子结点递归以及将左子结点的左子结点和右子结点的右子结点递归/*.

2021-10-15 21:04:33 152

原创 2021-10-15 leetcode 数据结构 树 104.二叉树的最大深度

BFS做法和二叉树的层序遍历一样,只是题目要求的结果不同。每一层遍历结束,则层数加1,则得到深度。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(i.

2021-10-15 20:19:04 53

原创 2021-10-13 leetcode 数据结构 树 102.二叉树的层序遍历 c++

层序遍历 :逐层遍历树结构如图所示:第一层:A; 第二层: B,C; 第三层:D,E,F;利用BFS 广度优先搜索,来解决二叉树的层序遍历key:从一层结点,找到下一层的所有结点BFS:将一层的结点入队,再依次取出,得到下一层的所有结点并全部入队等待访问解题步骤:遍历同层全部结点,进行以下操作:1.取头结点入队,并头结点加入到temp(vector);2.将头结点的左右结点全部入队,等待下一层的访问;3.头结点出队,并将temp加入到最后结果res(二维数组)中注意:1.每一次遍历的

2021-10-14 21:06:07 153

原创 2021-10-12 leetcode 数据结构 树 二叉树的三种遍历 c++

树树 是用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个值和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图树的特点1.每个结点有零个或多个子结点;2.没有父结点的结点为根结点;3.每一个非根结点只有一个父结点;4.每个结点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树;二叉树二叉树(binary tree)是指树中节点的度不大于2的有序树如图所示二叉树的三种遍历方式对于三种遍历方式如何形成的理解,参

2021-10-13 15:55:11 143

原创 2021-10-10 leetcode 数据结构 133.克隆图 DFS 深浅拷贝解释以及区别 C++

题目解释核心:深拷贝(本篇blog最后有解释)建立新的内存,将该图复制到新的内存中思路DFS&mapDFS:利用DFS遍历,并复制到新的结构体中AC代码/*// Definition for a Node.class Node {public: int val; vector<Node*> neighbors; Node() { val = 0; neighbors = vector<Node*>

2021-10-10 20:00:53 129

原创 2021-10-09 leetcode 数据结构 DFS 841.钥匙和房间 C++

题目 钥匙和房间要素从房间0获取其他房间钥匙,再从有钥匙的房间中获取其他房间钥匙Q:最后所有房间是否都可访问?思路定义key:某房间的钥匙,对应该房间visited:房间访问能否 visited[key] == 0/1 分别表示第key个房间:不可访问 /可访问rooms:所有房间中的所有钥匙rooms[i] :第i个房间中的所有钥匙rooms[i][j]:第i个房间中的第j把钥匙具体采用DFS从房间0开始逐个遍历其中的钥匙对于rooms[0][I],即从房间0中检查的第i把

2021-10-09 20:28:23 309

原创 2021-10-08 leetcode 数据结构 队列&栈 542. 01 矩阵 BFS C++

题目 01矩阵题目解释观察图mat,对于每一个格子:若为0,则0距离最近的0(也就是自己)距离为0若为1,从该格子上下左右向四周拓展找0,得到最近0的距离思路将所有的0都加入队列,1全部改为-1将0加入队列:由0找11改为-1: 若格子为-1,表示还没给该格子赋予离0最近的距离值从第一个0(a)开始向上下左右访问相邻格子,若有一格子(b)为1,则距离为1。当所有0的四周都访问完毕,再从b出发,继续向上下左右访问相邻格子,若又发现为1的格子(c),则a与c的距离=a与b的距离加上b与c的

2021-10-08 20:44:43 106

原创 2021-10-07 leetcode 数据结构 队列&栈 733.图像渲染 BFS解决 C++

题目 图像渲染题目解析给出一个矩阵:[[1,1,1],[1,1,0],[1,0,1]]给出一个坐标(1,1)和新数值(2)要求:把坐标及其周围的旧数值变为新数值,即新矩阵为:[[2,2,2],[2,2,0],[2,0,1]]ps:和岛屿数量有点像思路采用BFS从image[sr,sc](记位p)出发,向四周访问若访问点满足未被访问且值与p相同,则将其渲染并从该点再向四周继续访问本题要点(1)在出队后,拓展前,改变当前结点信息,即访问记录和渲染值(2)在拓展结点时,判断该

2021-10-07 20:14:09 163

原创 2021-10-06 leetcode 数据结构 队列&栈 394.字符串解码

题目 394.字符串解码思路利用两个栈,分别存储数字和字符串将给定字符串进行遍历,对每一个字符进行分类讨论:i) 数字:将连续遍历数字合并为一个整数,存入数字栈中ii) 字母:将连续遍历的字母合并为一个字符串,存入字符串栈中iii) 左括号:准备字符串的重复操作iiii) 右括号:进行字符串的重复操作具体遍历连续单个数字合并为一个整数将原数字num升一位,再加上现在所遍历到的新数字,即可得到一个整数if(s[i] >= '0' && s[i] <= '9'

2021-10-06 20:39:51 101

原创 2021-10-06 leetcode 数据结构 队列与栈 232.用栈实现队列 225.用队列实现栈

232.用栈实现队列双栈实现利用两个栈,改变信息存放形式,以得到LIFO下的数据class MyQueue {private: stack<int> s1, s2; int n, ans;public: MyQueue() { } void push(int x) { s1.push(x); } int pop() { n = s1.size(); //按队列顺序放入

2021-10-06 19:49:58 89

原创 2021-10-05 leetcode 数据结构 栈 94.二叉树的中序遍历

中序遍历定义首先遍历左子树,然后访问根结点,最后遍历右子树。遵循:左根右如图所示:中序遍历结果为4 2 5 1 3解释图:leetcode 94.二叉树的中序遍历法一:利用栈 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left

2021-10-05 20:52:02 79

原创 2021-10-04 leetcode 数据结构 栈与深度优先搜索DFS 494.目标和

深度优先搜索 (Depth First Search)深度优先搜索(DFS):一种用于遍历或搜索树或图的算法。 沿属于盲目搜索,最糟糕的情况算法时间复杂度为O(!n)。算法思想DFS算法可理解为回溯法/试探法依次向前探索,当探索到某一步时,发现原先选择不达目标,则退回一步重新选择eg:找结点0到结点3的路径DFS 基本模型void dfs(int step){ 判断边界 尝试每一种可能 for(i=1;i<=n;i++){ 继续下一步 dfs(step+1) }}l

2021-10-04 20:50:08 95

原创 2021-09-22 leetcode 数据结构 栈 150.逆波兰表达式求值 c++

首先介绍定义逆波兰式逆波兰式定义其中的一个例子能很好地让我们理解逆波兰式的定义现在回到原题leetcode 150.逆波兰表达式求值对tokens的元素进行分类讨论:i) 字符运算符,对栈中的前两项元素进行操作(先后出栈以获取栈顶)ii)字符数字,将字符转化为数字,进行入栈,等待之后的操作注意:在减法运算时,注意从栈中获取的值的位置是否对应减数和被减数。除法同理以下是AC代码class Solution {public: int evalRPN(vector<str

2021-09-22 20:53:46 129

原创 2021-09-21 leetcode 数据结构 栈 739.每日温度 c++

leetcode 739.每日温度图解核心思路repeat but significant step :将遍历到的元素i与栈顶元素相比较,若大于栈顶元素则可得到题中所求天数,现出栈然后将i继续与下一个栈顶元素比较; 若小于则入栈,继续遍历下一个元素。以下是AC代码class Solution {public: vector<int> dailyTemperatures(vector<int>& temperatures) {

2021-09-22 20:32:01 169

原创 2021-09-18 leetcode 数据结构 栈 155.最小栈 678.有效的括号

栈简介栈属于LIFO数据结构,将首先处理添加到队列中的最新元素。入栈-插入元素-push:在堆栈的末尾添加一个新元素退栈-删除元素-pop:删除堆栈中的最后插入的一个元素栈的实现#include <iostream>#include <vector>using namespace std;class MyStack { private://需要封装起来 所以用private vector<int> data; publi

2021-09-18 19:59:07 82

原创 2021-09-14 leetcode数据结构 队列与广度优先搜索BFS 200.岛屿数量 279.完全平方数 752.打开转盘锁 c++

广度优先搜索(Breadth-First-Search)广度优先搜索(BFS):是一种遍历或搜索数据结构(如树或图)的算法。​广度优先搜索与队列用示例来解释:Q:A-G 的最短路径?在遍历当前节点时,将其子节点添入队列Round1: A -> B,C,D //遍历结点A,向队列中添加结点B,C,DRound2:B,C,D ->E,F,GRound3:E,F,G ->G(visited) //本该添加F的子结点G,但G在上一轮中已添加过BFS是一层层进行的,遍历数的结点

2021-09-14 21:01:12 177

原创 2021-09-12 leetcode 数据结构 队列 622.设计循环队列 c++

队列简介队列属于FIFO数据结构入队-enqueue:新元素始终添在队列末尾出队-dequeue:移除第head指向元素队列有顺序队列和链式队列//今天先写顺序存储顺序队列顺序队列简介顺序队列采用数组存储队列中的元素,使用两个指针尾指针(rear)和头指针(front)分别指向队列的队头和队尾。顺序队列的实现该代码只能实现基本的入队出队#include <iostream>class MyQueue { private: vector<i

2021-09-12 20:58:25 144

原创 2021-09-08 leetcode 动态规划 剑指 Offer 10- I. 斐波那契数列

剑指 Offer 10- I. 斐波那契数列法一: 递归当数据量较大时会超时class Solution {public: int fib(int n) { if(n == 0) return 0; if(n == 1) return 1; long long num = 0; num = fib(n-1) + fib(n-2); if(num > 1000

2021-09-08 20:08:21 107

原创 2021-09-05 leetcode 数据结构 剑指 Offer 59 - I. 滑动窗口的最大值

I. 滑动窗口的最大值首先 第一层循环 固定住每一个窗口在窗口里面 也就是一个 常规数组 ,用循环 遍历该数组里的每一个元素 找出最大值 ,找出后在第一层循环结束前 将max存入新数组里以下是AC代码class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> res; int

2021-09-05 19:49:42 73

原创 2021-09-04 leetcode 数据结构 剑指 Offer 06. 从尾到头打印链表 剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 06. 从尾到头打印链表思路:递归一层一层找到最后一个链表从最后一个链表开始 psuh_back 其val,再依次往前走//看完AC代码别急着走,hsz//后面还有一部分比这个题更重要的知识点以下是AC代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), ne

2021-09-05 18:51:52 70

原创 2021-09-03 leetcode 数据结构 合并区间

合并区间题中的 intervals 是一个动态二维数组我们可以定义一个新动态数组vec在对intervals排序后 ,直接将第一行数组存 vec (因为排序后的intervals的第一行数组的左区间值一定极小 (这是离散里的极小))注意:对二维数组排序规则 参考 c++ 二维数组排序定义 两个变量i = 1, j = 0使 j 指向 第一行的数组 ,i指向第二行的数组(理解完代码后,我们会发现 j 和 i有点像之前几篇的快慢指针)此时开始合并操作若 i指向的数组的左区间 < j指向

2021-09-04 17:05:10 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除