自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营Day39

今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。第九章 动态规划part07。337.打家劫舍III。213.打家劫舍II。

2025-02-07 10:14:57 119

原创 代码随想录算法训练营Day38

本题 和 322. 零钱兑换 基本是一样的,大家先自己尝试做一做。如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。这句话结合本题 大家要好好理解。关于多重背包,你该了解这些!第九章 动态规划part06。

2025-02-06 09:10:41 226

原创 代码随想录算法训练营Day37

力扣上没有纯粹的完全背包的题目,我在卡码网上制作了题目,大家可以去做一做,题目链接在下面的文章链接里。这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍。后面的两道题目,都是完全背包的应用,做做感受一下。518. 零钱兑换 II。70. 爬楼梯 (进阶)377. 组合总和 Ⅳ。

2025-02-05 10:04:59 120

原创 代码随想录算法训练营Day36

通过这道题目,大家先粗略了解, 01背包,完全背包,多重背包的区别,不过不用细扣,因为后面 对于 完全背包,多重背包 还有单独讲解。大家重点理解 递推公式:dp[j] += dp[j - nums[i]],这个公式后面的提问 我们还会用到。1049. 最后一块石头的重量 II。很像了,可以尝试先自己思考做一做。第九章 动态规划part04。416. 分割等和子集。

2025-02-04 09:25:57 234

原创 代码随想录算法训练营Day35

正式开始背包问题,背包问题还是挺难的,虽然大家可能看了很多背包问题模板代码,感觉挺简单,但基本理解的都不够深入。如果做过背包类问题,可以先看视频,很多内容,是自己平时没有考虑到位的。如果是直接从来没听过背包问题,可以先看文字讲解慢慢了解 这是干什么的。背包问题,力扣上没有原题,大家先了解理论,今天就安排一道具体题目。第九章 动态规划part03。本题是 01背包的应用类题目。416. 分割等和子集。

2025-02-03 08:47:43 219

原创 代码随想录算法训练营Day34

今天开始逐渐有 dp的感觉了,前 两题 不同路径,可以好好研究一下,适合进阶。本题思路并不容易想,一刷建议可以跳过。如果学有余力,可以看视频理解一波。本题思路并不容易想,一刷建议可以跳过。如果学有余力,可以看视频理解一波。本题大家掌握动态规划的方法就可以。数论方法 有点非主流,很难想到。.不同的二叉搜索树 (可跳过)第九章 动态规划part02。63. 不同路径 II。整数拆分 (可跳过)

2025-01-27 08:41:58 228

原创 代码随想录算法训练营Day32

这道题目力扣改了题目描述了,现在的题目描述清晰很多,相当于明确说 第一步是不用花费的。如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是不是简单题想复杂了?无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。其实并没有,我讲的理论基础内容,在动规章节所有题目都有运用,所以很重要!很简单的动规入门题,但简单题使用来掌握方法论的,还是要有动规五部曲来分析。本题大家先自己想一想, 之后会发现,和 斐波那契数 有点关系。如果做过动态规划题目的录友,看我的理论基础 就会感同身受了。

2025-01-25 08:34:01 254

原创 代码随想录算法训练营Day31

可以看看贪心算法的总结,贪心本来就没啥规律,能写出个总结篇真的不容易了。本题也是重叠区间问题,如果昨天三道都吸收的话,本题就容易理解了。本题是贪心和二叉树的一个结合,比较难,一刷大家就跳过吧。738.单调递增的数字(巧妙)968.监控二叉树 (可跳过)第八章 贪心算法 part0。

2025-01-24 09:38:57 237

原创 代码随想录算法训练营Day30

今天的三道题目,都算是 重叠区间 问题,大家可以好好感受一下。都属于那种看起来好复杂,这种题还是属于那种,做过了也就会了,没做过就很难想出来。452. 用最少数量的箭引爆气球。第八章 贪心算法 part04。但一看贪心解法,惊呼:这么巧妙。不过大家把如下三题做了之后,重叠区间 基本上差不多了。435. 无重叠区间。763.划分字母区间。

2025-01-23 11:51:53 155

原创 代码随想录算法训练营Day29

本题涉及到一个思想,就是想处理好一边再处理另一边,不要两边想着一起兼顾,后面还会有题目用到这个思路。本题有点难度,和分发糖果类似,不要两头兼顾,处理好一边再处理另一边。本题看上好像挺难,其实很简单,大家先尝试自己做一做。本题有点难度,不太好想,推荐大家熟悉一下方法二。406.根据身高重建队列。

2025-01-22 11:23:54 107

原创 代码随想录算法训练营Day28

本题同样不容易想出来。贪心就是这样,有的时候 会感觉简单到离谱,有时候,难的不行,主要是不容易想到。本题如果没接触过,很难想到,所以不要自己憋时间太久,读题思考一会,没思路立刻看题解。本题简单一些,估计大家不用想着贪心 ,用自己直觉也会有思路。本题大家可以先自己思考一下然后再看题解,会有惊喜!1005.K次取反后最大化的数组和。122.买卖股票的最佳时机II。第八章 贪心算法 part02。

2025-01-21 11:35:27 105

原创 代码随想录算法训练营Day27

【代码】代码随想录算法训练营Day26。

2025-01-20 13:24:46 128

原创 代码随想录算法训练营Day25

因为一刷也不求大家能把这么难的问题解决,大家目前能了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先大概熟悉一下这些题,二刷的时候,随着对回溯算法的深入理解,再去解决如下三题。N皇后这道题目还是很经典的,一刷的录友们建议看看视频了解了解大体思路就可以(如果没时间本次就直接跳过),先有个印象,二刷的时候重点解决。本题重点感受一下,排列问题与组合问题,组合总和,子集问题的区别。同样,一刷的录友们建议看看视频了解了解大体思路(如果没时间本次就直接跳过),先有个印象,二刷的时候重点解决。

2025-01-19 12:50:42 331

原创 代码随想录算法训练营Day24

大家之前做了40.组合总和II和78.子集,本题就是这两道题目的结合,建议自己独立做一做,本题涉及的知识,之前都讲过,没有新内容。子集问题,就是收集树形结构中,每一个节点的结果。整体代码其实和回溯模板都是差不多的。本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了。

2025-01-18 21:52:36 158

原创 代码随想录算法训练营Day23

注意题目中给我们集合是有重复元素的,那么求出来的组合有可能重复,但题目要求不能有重复组合。本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制。,大家先看视频来理解分割问题,明天还会有一道分割问题,先打打基础。本题开始涉及到一个问题了:去重。

2025-01-18 20:24:02 272

原创 代码随想录算法训练营Day22

其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。对着 在 回溯算法理论基础 给出的 代码模板,来做本题组合问题,大家就会发现 写回溯算法套路。在回溯算法解决实际问题的过程中,大家会有各种疑问,先看视频介绍,基本可以解决大家的疑惑。本题关于剪枝操作是大家要理解的重点,因为后面很多回溯算法解决的题目,都是这个剪枝套路。本题大家刚开始做会有点难度,先自己思考20min,没思路就直接看题解。如果把 组合问题理解了,本题就容易一些了。

2025-01-17 15:38:29 290

原创 代码随想录算法训练营Day21

本题也不难,在 求二叉搜索树的最小绝对差 和 众数 那两道题目 都讲过了 双指针法,思路是一样的。,比 添加增加和删除节点难的多,建议先看视频理解。好了,二叉树大家就这样刷完了,做一个总结吧。108.将有序数组转换为二叉搜索树。本题就简单一些,可以尝试先自己做做。538.把二叉搜索树转换为累加树。669. 修剪二叉搜索树。

2025-01-14 22:47:11 180

原创 代码随想录算法训练营Day19

本题比想象中的简单,大家可以先自己想一想应该怎么做,然后看视频讲解,就发现 本题为什么比较简单了。相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。相对于 插入操作,本题就有难度了,涉及到改树的结构。235. 二叉搜索树的最近公共祖先。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。

2025-01-13 18:10:55 156

原创 代码随想录算法训练营Day18

和 530差不多双指针思路,不过 这里涉及到一个很巧妙的代码技巧。需要领悟一下二叉树遍历上双指针操作,优先掌握递归。本题其实是比较难的,可以先看我的视频讲解。可以先自己做做看,然后看我的视频讲解。530.二叉搜索树的最小绝对差。236. 二叉树的最近公共祖先。501.二叉搜索树中的众数。

2025-01-11 11:07:15 202

原创 代码随想录算法训练营Day17

又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历。这次是一起操作两个二叉树了, 估计大家也没一起操作过两个二叉树,也不知道该如何一起操作,可以看视频先理解一下。但本题是有陷阱的,可以自己先做一做,然后在看题解,看看自己是不是掉陷阱里了。递归和迭代 都可以掌握以下,因为本题比较简单, 了解一下 二叉搜索树的特性。遇到 搜索树,一定想着中序遍历,这样才能利用上特性。700.二叉搜索树中的搜索。98.验证二叉搜索树。

2025-01-10 10:06:03 172

原创 代码随想录算法训练营Day16

106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树 一起做,思路一样的。本题 又一次涉及到回溯的过程,而且回溯的过程隐藏的还挺深,建议先看视频来理解。本题递归偏难,反而迭代简单属于模板题, 两种方法掌握一下。本题算是比较难的二叉树题目了,大家先看视频来理解。112. 路径总和,和 113. 路径总和ii。从中序与后序遍历序列构造二叉树。

2025-01-09 11:03:05 200

原创 代码随想录算法训练营Day15

这是大家第一次接触到回溯的过程,我在视频里重点讲解了本题为什么要有回溯,已经回溯的过程。其实本题有点文字游戏,搞清楚什么是左叶子,剩下的就是二叉树的基本操作。再一次涉及到,什么是高度,什么是深度,可以巩固一下。如果对回溯似懂非懂,没关系,可以先有个印象。需要了解,普通二叉树怎么求,完全二叉树又怎么求。257.二叉树的所有路径(优先掌握递归)222.完全二叉树的节点个数(优先掌握递归)110.平衡二叉树(优先掌握递归)404.左叶子之和(优先掌握递归)

2025-01-08 08:53:43 142

原创 代码随想录算法训练营Day14

这道题目 一些做过的同学 理解的也不够深入,建议大家先看我的视频讲解,无论做过没做过,都会有很大收获。大家 要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。先看视频讲解,和最大深度 看似差不多,其实 差距还挺大,有坑。104.二叉树的最大深度 (优先掌握递归)111.二叉树的最小深度 (优先掌握递归)101. 对称二叉树 (优先掌握递归)226.翻转二叉树 (优先掌握递归)先看视频讲解,会更容易一些。

2025-01-07 09:50:56 127

原创 代码随想录算法训练营Day13

看完本篇可以一口气刷十道题,试一试, 层序遍历并不难,大家可以很快刷了十道题。需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义。这是统一迭代法的写法, 如果学有余力,可以掌握一下。二叉树的三种递归遍历掌握其规律后,其实很简单。迭代遍历 (基础不好的录友,迭代法可以放过)统一迭代 (基础不好的录友,迭代法可以放过)递归遍历 (必须掌握)

2025-01-06 21:07:41 168

原创 代码随想录算法训练营Day11

347.前 K 个高频元素 (有点难度,可能代码写不出来,一刷至少需要理解思路)本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。239. 滑动窗口最大值 (有点难度,可能代码写不出来,但一刷。本题是 大数据中取前k值 的经典思路,了解想法之后,不算难。大/小顶堆的应用, 在C++中就是优先级队列。之前讲的都是栈的应用,这次该是队列的应用了。150. 逆波兰表达式求值。栈与队列做一个总结吧,加油。

2025-01-04 09:32:06 154

原创 代码随想录算法训练营Day10

要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。可能大家惯性思维,以为还要两个队列来模拟栈,其实只用一个队列就可以模拟栈了。了解一下 栈与队列的内部实现机制,文中是以C++为例讲解的。讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。建议大家掌握一个队列的方法,更简单一些,可以先看视频讲解。225. 用队列实现栈。232.用栈实现队列。

2025-01-03 14:56:15 284

原创 代码随想录算法训练营Day09

因为大家 算法能力还没到,细扣 很难的算法,会把自己绕进去,就算别人给解释,只会激发出更多的问题和疑惑。因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期望立刻啃明白,第一遍了解大概思路,二刷的时候,再看KMP会 好懂很多。建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。KMP和本题,一刷的时候 ,可以适当放过,了解怎么回事就行,二刷的时候再来硬啃。459.重复的子字符串 (本题可以跳过)

2025-01-02 11:45:35 294

原创 代码随想录算法训练营Day08

建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。建议:对于线性数据结构,填充或者删除,后序处理会高效的多。541. 反转字符串II。541. 反转字符串II。卡码网:54.替换数字。

2025-01-01 10:17:12 213

原创 代码随想录算法训练营Day07

建议: 要比较一下,本题和 454.四数相加II 的区别,为什么 454.四数相加II 会简单很多,这个想明白了,对本题理解就深刻了。建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。454.四数相加II。

2024-12-31 16:10:19 161

原创 代码随想录算法训练营Day06

建议:本题就开始考虑 什么时候用set 什么时候用数组,本题其实是使用set的好题,但是后来力扣改了题目描述和 测试用例,添加了 0

2024-12-29 21:00:20 212

原创 代码随想录算法训练营Day04

双指针的操作,要注意,删除第N个节点,那么我们当前遍历的指针一定要指向 第N个节点的前一个节点,建议先看视频。本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。一般涉及到 增删改操作,用虚拟头结点都会方便很多, 如果只能查的话,用不用虚拟头结点都差不多。对于链表的题目,大家最大的困惑可能就是 什么使用用虚拟头结点,什么时候不用虚拟头结点?算是链表比较有难度的题目,需要多花点时间理解 确定环和找环入口,建议先看视频。24. 两两交换链表中的节点。

2024-12-29 15:55:08 134

原创 代码随想录算法训练营Day03

建议先看我的视频讲解,视频讲解中对 反转链表需要注意的点讲的很清晰了,看完之后大家的疑惑基本都解决了。建议: 这是一道考察 链表综合操作的题目,不算容易,可以练一练 使用虚拟头结点。建议: 本题最关键是要理解 虚拟头结点的使用技巧,这个对链表题目很重要。建议:了解一下链表基础,以及链表和数组的区别。203.移除链表元素。203.移除链表元素。

2024-12-29 13:33:46 196

原创 代码随想录算法训练营Day02

如果基础不好的录友,建议直接视频讲解,这样避免很多时间浪费,因为没接触过的算法,不是轻易就能靠自己思考想出来的。,这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。拓展题目可以先不做。前缀和是一种思维巧妙很实用 而且 很有容易理解的一种算法思想,大家可以体会一下。: 本题关键还是在转圈的逻辑,在二分搜索中提到的区间定义,在这里又用上了。:希望大家 也做一个自己 对数组专题的总结。: 本题关键在于理解滑动窗口。209.长度最小的子数组。没看题解的时候,很难想到。

2024-12-29 10:41:37 221

原创 代码随想录算法训练营Day01

第一章 数组part01今日任务数组理论基础,704. 二分查找,27. 移除元素详细布置数组理论基础题目建议: 了解一下数组基础,以及数组的内存空间地址,数组也没那么简单。704. 二分查找题目建议: 大家今天能把 704.二分查找 彻底掌握就可以,至于 35.搜索插入位置 和 34. 在排序数组中查找元素的第一个和最后一个位置 ,如果有时间就去看一下,没时间可以先不看,二刷的时候在看。先把 704写熟练,要熟悉 根据 左闭右开,左闭右闭 两种区间规则 写出来的二分法。

2024-12-29 10:04:03 364

原创 795. 前缀和

输入一个长度为 nn 的整数序列。接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。

2024-12-26 16:08:20 191

原创 977.有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

2024-12-26 10:51:45 205

原创 27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。

2024-12-25 10:43:35 331

原创 704. 二分查找

二分查找

2024-12-25 10:17:58 128

原创 1.3.1 数的范围(二分查找)

第二行包含 n 个整数(均在 1∼100001∼10000 范围内),表示完整数组。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 00 开始计数)。共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。给定一个按照升序排列的长度为 n的整数数组,以及 q个查询。接下来 q 行,每行包含一个整数 k,表示一个询问元素。第一行包含整数 n 和 q,表示数组长度和询问个数。如果数组中不存在该元素,则返回。如果数组中不存在该元素,则返回。

2023-04-29 20:45:57 356

原创 1.2.2 逆序对的数量

逆序对的定义如下:对于数列的第 i个和第 j 个元素,如果满足 ia[j],则其为一个逆序对;给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围 [1,109][1,109]。第二行包含 n 个整数,表示整个数列。第一行包含整数 n,表示数列的长度。输出一个整数,表示逆序对的个数。

2023-04-29 20:05:32 276

数据库原理及应用教程第4版习题参考答案

最全答案,包括简答题,数据库原理及应用教程第4版习题参考答案

2023-04-28

蓝桥杯历届真题,客观题

蓝桥杯是中国著名的计算机程序设计竞赛,由教育部主办,共分为省赛和全国赛两个阶段,参赛对象为全国中小学生和大学生。该比赛旨在提高学生的计算机编程水平和创新能力,促进计算机教育的发展。 蓝桥杯分为三个组别,包括省赛省一组、省赛省二组和全国赛组别。其中省一组适合于大学本科生和硕士研究生,省二组适合于高中生和大学本科生,全国赛组别适合于所有参赛者。 比赛题目通常涉及算法、数据结构、图形图像处理、网络编程、人工智能等多个方面,难度较高,需要选手具备扎实的计算机编程基础和创新思维能力。 蓝桥杯比赛已经成为中国计算机教育领域的重要赛事之一,许多优秀的程序员和计算机专业人才都是通过参加蓝桥杯比赛而走上成功的道路。

2023-04-03

Typora 保姆级教程

Typora是一种所见即所得的Markdown编辑器,它可以让用户在编辑Markdown文本时实时预览文本样式和布局效果。Typora采用简洁的界面设计,支持快捷键操作,可以在Windows、macOS和Linux等多个平台上运行。Typora还具有许多其他有用的功能,如表格编辑、代码块语法高亮、目录生成、图片拖拽等。它是一个方便实用的工具,适合需要频繁编辑Markdown文本的用户使用。

2023-04-03

空空如也

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

TA关注的人

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