自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第四十一天|343. 整数拆分、96.不同的二叉搜索树

【代码】代码随想录算法训练营第四十一天|343. 整数拆分、96.不同的二叉搜索树。

2024-01-08 17:23:36 379

原创 代码随想录算法训练营第三十九天|62.不同路径、63. 不同路径 II

【代码】代码随想录算法训练营第三十九天|62.不同路径、63. 不同路径 II。

2024-01-06 17:38:12 391

原创 代码随想录算法训练营第三十八天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

【代码】代码随想录算法训练营第三十八天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯。

2024-01-05 17:22:20 470

原创 代码随想录算法训练营第三十七天|738.单调递增的数字、968.监控二叉树

摘自代码随想录知识星球 (opens new window)海螺人。

2024-01-04 17:23:47 393

原创 代码随想录算法训练营第三十六天|435. 无重叠区间、763.划分字母区间、56. 合并区间

【代码】代码随想录算法训练营第三十六天|435. 无重叠区间、763.划分字母区间、56. 合并区间。

2024-01-03 18:39:07 477

原创 代码随想录算法训练营第三十五天|860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球

【代码】代码随想录算法训练营第三十五天|860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球。

2024-01-02 17:27:20 324

原创 代码随想录算法训练营第三十四天|1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果

1005.K次取反后最大化的数组和题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台文档讲解:代码随想录视频讲解:贪心算法,这不就是常识?还能叫贪心?LeetCode:1005.K次取反后最大化的数组和_哔哩哔哩_bilibiliC++代码:class Solution {public: static bool cmp(int a, int b) { return abs(a) > abs(b); } int larg

2024-01-01 17:09:31 334

原创 代码随想录算法训练营第三十二天|122.买卖股票的最佳时机II、 55. 跳跃游戏、45.跳跃游戏II

【代码】代码随想录算法训练营第三十二天|122.买卖股票的最佳时机II、 55. 跳跃游戏、45.跳跃游戏II。

2023-12-30 20:00:00 419

原创 代码随想录算法训练营第三十一天|455.分发饼干、376. 摆动序列、53. 最大子序和

【代码】代码随想录算法训练营第三十一天|455.分发饼干、376. 摆动序列、53. 最大子序和。

2023-12-30 16:00:00 386

原创 代码随想录算法训练营第三十天|332.重新安排行程、51. N皇后 、37. 解数独

摘自代码随想录知识星球 (opens new window)莫非毛 (opens new window)

2023-12-28 17:56:56 383

原创 代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、47.全排列 II

【代码】代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、47.全排列 II。

2023-12-27 18:38:12 354

原创 代码随想录算法训练营第二十八天|93.复原IP地址、78.子集、90.子集II

【代码】代码随想录算法训练营第二十八天|93.复原IP地址、78.子集、90.子集II。

2023-12-26 19:26:55 360

原创 代码随想录算法训练营第二十七天|39. 组合总和、40.组合总和II、131.分割回文串

【代码】代码随想录算法训练营第二十七天|39. 组合总和、40.组合总和II、131.分割回文串。

2023-12-25 17:44:10 398

原创 代码随想录算法训练营第二十五天|216.组合总和III、17.电话号码的字母组合

【代码】代码随想录算法训练营第二十五天|216.组合总和III、17.电话号码的字母组合。

2023-12-23 17:27:26 319

原创 代码随想录算法训练营第二十四天|77. 组合

思路:本题是回溯法的经典题目。直接的解法当然是使用for循环,例如示例中k为2,很容易想到 用两个for循环,这样就可以输出 和示例中一样的结果。同时,本题可以使用剪枝优化,可以剪枝的地方就在递归中每一层的for循环所选择的起始位置。如果for循环选择的起始位置之后的元素个数 已经不足 我们需要的元素个数了,那么就没有必要搜索了。

2023-12-22 19:52:18 318

原创 代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

涉及到二叉树的构造,无论普通二叉树还是二叉搜索树一定前序,都是先构造中节点。求普通二叉树的属性,一般是后序,一般要通过递归函数的返回值做计算。求二叉搜索树的属性,一定是中序。摘自代码随想录知识星球 (opens new window)青。

2023-12-21 18:22:05 338

原创 代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

思路:因为是有序树,如果中间节点是 q 和 p 的公共祖先,那中节点的数组一定是在 [p, q]区间的。即中节点 > p && 中节点 < q 或者 中节点 > q && 中节点 < p。

2023-12-20 18:09:49 339

原创 代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

思路:利用二叉搜索树的特性,当中序遍历时二叉树的值是有序的。

2023-12-19 18:19:50 421

原创 代码随想录算法训练营第二十天|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

思路:一般要构造一棵树都是采用前序遍历。

2023-12-18 18:42:49 374

原创 代码随想录算法训练营第十八天|513.找树左下角的值、112. 路径总和、113.路径总和ii、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树

思路:本题使用层序遍历比较简单可以使用层序遍历时记录每次循环第一个节点的值。

2023-12-16 22:11:29 306

原创 代码随想录算法训练营第十七天|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

思路:平衡二叉树:任意节点的左子树与右子树的高度差不超过1。

2023-12-15 19:51:21 363

原创 代码随想录算法训练营第十六天|104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

思路:之前采用层序遍历解决,本次采用递归写法,采用后序遍历。二叉树的最大深度可以理解为根节点的最大高度。

2023-12-14 18:19:24 317

原创 代码随想录算法训练营第十五天|层序遍历、 226.翻转二叉树、101.对称二叉树

思路:采用队列进行遍历。

2023-12-13 18:56:05 320

原创 代码随想录算法训练营第十四天|144.二叉树前序遍历、145二叉树后序遍历、94.二叉树中序遍历

思路:两种解法:递归和迭代。其中递归写法需要注意1、确定递归函数的参数和返回值。2、确定终止条件。3、确定单层递归的逻辑。迭代写法采用栈容器。

2023-12-12 18:48:05 483

原创 代码随想录算法训练营第十三天|239. 滑动窗口最大值、347.前 K 个高频元素

思路:采用单调队列,队列中只维护前k个元素中最大值及后面的元素,保证前k个元素的最大值始终在队列的头部。

2023-12-11 18:26:04 377

原创 代码随想录算法训练营第十一天|20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

思路:使用栈的经典题目,遍历字符串,在遇到括号的左半边时向栈中压入括号的右半边,若栈为空或者栈顶元素和遍历到的字符不匹配说明不成立,最后再检查一下栈看栈中是否还有元素。

2023-12-09 10:37:44 302

原创 代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈

思路:使用栈实现队列,由于栈前进后出的特性,需要使用两个栈配合来实现队列的功能,一个输入栈一个输出栈,输入栈由于向队列中添加元素,输出栈用于从队列中删除元素,当要删除元素时检查输出栈是否为null,若为空将输入栈的元素压入输出栈,实现元素顺序的调换。

2023-12-08 18:08:13 331

原创 代码随想录算法训练营第九天|28. 实现 strStr()、459.重复的子字符串

字符串类类型的题目,往往想法比较简单,但是实现起来并不容易,复杂的字符串题目非常考验对代码的掌控能力。双指针法是字符串处理的常客。

2023-12-07 19:20:03 337

原创 代码随想录算法训练营第八天|344.反转字符串、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串

思路:本题比较简单,使用双指针可以快速解决。

2023-12-06 19:14:45 298

原创 代码随想录算法训练营第七天|454.四数相加II、383. 赎金信、 15. 三数之和、18. 四数之和

思路:根据题目要求,我们不需要考虑是否四个元素有重复的,且需要进行查找,可以首先想到使用哈希法来做题。

2023-12-05 21:15:22 337

原创 代码随想录算法训练营第六天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

思路:在遇到需要判断一个元素是否出现在集合中时,考虑使用哈希法,题目限定数组中的元素为小写字母,故可虑使用数组来作为哈希表。

2023-12-04 19:24:09 396

原创 代码随想录算法训练营第四天(补)|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、160. 链表相交、142.环形链表II

凡是需要对链表进行的增删改操作,为了不特殊处理链表的头节点,可以设置一个虚拟头节点来进行操作。同时需要注意链表操作时到底需要修改几个节点。

2023-12-03 20:32:35 332

原创 代码随想录算法训练营第三天|203.移除链表元素、707.设计链表、206.反转链表

注意点:在删除节点是如果不采用虚拟头节点的时候,对于头节点的删除需要特殊处理。

2023-12-01 19:22:49 330

原创 代码随想录算法训练营第二天| 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II

​摘自代码随想录知识星球 (opens new window)海螺人。

2023-11-30 19:57:30 358

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

注意点:数组的内存空间是一块连续的内存,不能直接删除数组中的某个元素,只能进行覆盖。注意点:写二分法时需要注意左右区间的取值问题。

2023-11-29 19:25:51 328

空空如也

空空如也

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

TA关注的人

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