自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【代码随想录 Day60 单调栈 part03】84.柱状图中最大的矩形

【代码】【代码随想录 Day60 单调栈 part03】84.柱状图中最大的矩形。

2023-07-11 12:30:19 192

原创 【代码随想录Day59 单调栈part02】503.下一个更大的元素Ⅱ、42.接雨水

【代码】【代码随想录Day59 单调栈part02】503.下一个更大的元素Ⅱ、42.接雨水。

2023-07-10 12:00:23 401

原创 【代码随想录Day58 单调栈 part01】739.每日温度、496.下一个更大元素Ⅰ

【代码】【代码随想录Day58 单调栈 part01】739.每日温度、496.下一个更大元素Ⅰ。

2023-07-08 11:38:50 237

原创 【代码随想录Day57 动态规划 part17】647.回文子串、516.最长回文子序列

【代码】【代码随想录Day57 动态规划 part17】647.回文子串、516.最长回文子序列。

2023-07-07 12:00:27 249

原创 【代码随想录Day56 动态规划 part16】583.两个字符串的删除操作、72.编辑距离

【代码】【代码随想录Day56 动态规划 part16】583.两个字符串的删除操作、72.编辑距离。

2023-07-06 16:13:07 199

原创 【代码随想录Day55 动态规划part15】392.判断子序列、115.不同的子序列

【代码】【代码随想录Day55 动态规划part15】392.判断子序列、115.不同的子序列。

2023-07-05 10:49:10 179

原创 【代码随想录Day53 动态规划 part14】1143.最长公共子序列、1035.不相交的线、53.最大子数组和

【代码】【代码随想录Day53 动态规划 part14】1143.最长公共子序列、1035.不相交的线、53.最大子数组和。

2023-07-04 11:54:30 191

原创 【代码随想路Day52 动态规划part13】300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组

dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度。一定是包括nums[i]的,所以最大值不一定是dp[nums.length - 1]。而是取dp数组的最大元素。dp[i][j]表示的含义,都是结果中包含nums1[i -1]和nums2[j-1],这样才能递推。

2023-07-03 12:49:27 163

原创 【代码随想录Day51 动态规划part12】309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

【代码】【代码随想录Day51 动态规划part12】309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费。

2023-07-01 11:12:17 230

原创 【代码随想路Day50 动态规划part11】123.买卖股票的最佳时机Ⅲ、188.买卖股票的最佳时机Ⅳ

【代码】【代码随想路Day50 动态规划part11】123.买卖股票的最佳时机Ⅲ、188.买卖股票的最佳时机Ⅳ。

2023-06-30 18:18:43 108

原创 【代码随想录Day49 动态规划part10】121.买卖股票的最佳时机、122.买卖股票的最佳时机Ⅱ

dp[i][1] 表示第i天不持有股票所得最多现金。dp[i][0] 表示第i天持有股票所得现金。

2023-06-29 12:22:10 193

原创 【代码随想录Day48】198.打家劫舍、213.打家劫舍Ⅱ、337.打家劫舍Ⅲ

【代码】【代码随想录Day48】198.打家劫舍、213.打家劫舍Ⅱ、337.打家劫舍Ⅲ。

2023-06-28 21:52:03 138

原创 【代码随想录Day46动态规划part08】139.单词拆分

【代码】【代码随想录Day46动态规划part08】139.单词拆分。

2023-06-27 22:04:18 71

原创 【代码随想录Day45动态规划part07】70.爬楼梯\322.零钱兑换\279.完全平方数

【代码】【代码随想录Day45动态规划part07】70.爬楼梯\322.零钱兑换\279.完全平方数。

2023-06-24 17:09:08 174

原创 【代码随想录Day44动态规划part06】518.零钱兑换、377.组合总和Ⅳ

【代码】【代码随想录Day44动态规划part06】518.零钱兑换、377.组合总和Ⅳ。

2023-06-23 12:45:47 176

原创 【代码随想录Day29回溯算法part05】491.递增子序列、46.全排列、47.全排列Ⅱ

【代码】【代码随想录Day29回溯算法part05】491.递增子序列、46.全排列、47.全排列Ⅱ。

2023-06-22 13:48:55 171

原创 【代码随想录Day43动态规划part05】1049.最后一块石头的重量Ⅱ、494.目标和、474.一和零

【代码】【代码随想录Day43动态规划part05】1049.最后一块石头的重量Ⅱ、494.目标和、474.一和零。

2023-06-21 16:52:15 124

原创 【代码随想录Day42动态规划part04】416.分割等和子集

【代码】【代码随想录Day42动态规划part04】416.分割等和子集。

2023-06-20 13:26:52 108

原创 【代码随想录Day41动态规划part03】343.整数拆分、96.不同的二叉搜搜树

【代码】【代码随想录Day41动态规划part03】343.整数拆分、96.不同的二叉搜搜树。

2023-06-19 20:15:04 139

原创 【代码随想录Day39动态规划part02】62.不同路径、63.不同路径Ⅱ

【代码】【代码随想录Day39动态规划part02】62.不同路径、63.不同路径Ⅱ。

2023-06-17 11:54:29 196

原创 【代码随想录Day38 动态规划part01】509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

【代码】【代码随想录Day38 动态规划part01】509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯。

2023-06-16 16:39:30 149

原创 【代码随想录Day28回溯算法】93.复原IP地址、78.子集、90.子集Ⅱ

如果把子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点。

2023-06-16 11:24:36 24

原创 【代码随想录Day27】39.组合总和、40.组合总和Ⅱ、131.分割回文串

candidate含有重复数字,求组合总数需要先对候选数组进行排序再进行树层去重。利用 i > startIndex 的条件,来保证是同一层的而非同一树枝。

2023-06-15 15:27:35 49

原创 【代码随想录Day25】216.组合总和Ⅲ、17.电话号码的字母组合

【代码】【代码随想录Day25】216.组合总和Ⅲ、17.电话号码的字母组合。

2023-06-14 16:26:03 273

原创 【代码随想录Day24】77.组合

【代码】【代码随想录Day24】77.组合。

2023-06-14 14:55:58 19

原创 【代码随想录】Day18 513.找树左下角的值、112.路径总和、112.路径总和Ⅱ

【代码】【代码随想录】Day18 513.找树左下角的值、112.路径总和、112.路径总和Ⅱ。

2023-06-01 17:57:43 15

原创 【代码随想录Day17】110.平衡二叉树、257.二叉树的所有路径、404.左叶子节点之和

【代码】【代码随想录Day17】110.平衡二叉树、257.二叉树的所有路径、404.左叶子节点之和。

2023-05-31 17:18:55 20

原创 【代码随想录Day16】104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

反之,右子树为空,左子树不为空,最小深度是 1 + 左子树的深度。对于情况二,分别递归左孩子,和右孩子,递归到某一深度一定会有左孩子或者右孩子为满二叉树,然后依然可以按照情况1来计算。注意审题,题目中说的是:最小深度是从根节点到最近叶子节点的最短路径上的节点数量。完全二叉树只有两种情况,情况一:就是满二叉树,情况二:最后一层叶子节点没有满。对于情况一,可以直接用 2^树深度 - 1 来计算,注意这里根节点深度为1。所以,如果左子树为空,右子树不为空,说明最小深度是 1 + 右子树的深度。

2023-05-30 18:07:53 16

原创 【代码随想录Day15】102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

【代码】【代码随想录Day15】102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树。

2023-05-29 16:34:25 29

原创 【代码随想录】Day14 二叉树的前、中、后序遍历;递归、迭代和统一迭代方法

2.确定终止条件: 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。1.确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。3.确定单层递归的逻辑: 确定每一层递归需要处理的信息。那我们就将访问的节点放入栈中,把要处理的节点也放入栈中但是要做标记。

2023-05-26 22:52:12 19

原创 【代码随想录Day13】239.滑动窗口最大值、347.前K个高频元素

【代码】【代码随想录Day13】239.滑动窗口最大值、347.前K个高频元素。

2023-05-22 11:44:48 213 1

原创 【代码随想录Day11】20.有效的括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式求值

在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单的多了!

2023-05-21 22:36:29 151 1

原创 【代码随想录Day10】232.用栈实现队列、225.用队列实现栈

在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。使用栈来模式队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈一个输入栈,一个输出栈,这里要注意输入栈和输出栈的关系。

2023-05-21 17:08:11 185

原创 【代码随想录】Day4 链表part02,24.两两交换链表中的节点、19.删除链表的倒数第N个结点、面试题02.07.链表相交、142.环型链表Ⅱ

如果 a≠b,则指针 pA 会遍历完链表 headA,指针 pB 会遍历完链表 headB,两个指针不会同时到达链表的尾节点,然后指针 pA 移到链表 headB 的头节点,指针pB 移到链表 headA 的头节点,然后两个指针继续移动,在指针 pA 移动了 a+c+b 次、指针pB 移动了 b+c+a 次之后,两个指针会同时到达两个链表相交的节点,该节点也是两个指针第一次同时指向的节点,此时返回相交的节点。如果 a=b,则两个指针会同时到达两个链表相交的节点,此时返回相交的节点;情况二:两个链表不相交。

2023-05-18 15:35:49 189

原创 【代码随想录】Day8 字符串part01,344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指 Offer 58 - II. 左旋转字符串

本题 可以通过局部反转+整体反转 达到左旋转的目的。2.反转区间为n到末尾的子串。1.反转区间为前n的子串。

2023-05-17 14:31:45 349

原创 【代码随想录】Day7 哈希表part02,454.四数相加Ⅱ、383.赎金信、15.三数之和、18.四数之和

因为题目所只有小写字母,那可以采用空间换取时间的哈希策略, 用一个长度为26的数组还记录ransomNote里字母出现的次数。然后再用magazine去验证。这道题目是四个独立的数组,只要找到A[i] + B[j] + C[k] + D[l] = 0就可以,不用考虑有重复的四个元素相加等于0的情况。

2023-05-16 12:06:04 170

原创 【代码随想录】Day6 哈希表part01,242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

【代码】【代码随想录】Day6 哈希表part01,242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和。

2023-05-15 11:31:21 188 1

原创 代码随想录Day3,203.移除链表元素、707.设计链表、206.反转链表

【代码】代码随想录Day3,203.移除链表元素、707.设计链表、206.反转链表。

2023-05-12 16:12:35 29 1

原创 代码随想录Day2,977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II

【代码】代码随想录Day2,977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II。

2023-05-11 12:37:56 395 1

原创 代码随想录day1 | 704.二分查找、27.移除元素

正是因为数组在内存空间的地址是连续的,所以我们在删除或者添加元素的时候,就难免要移动其他元素的地址。

2023-05-10 12:07:05 675

空空如也

空空如也

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

TA关注的人

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