自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录四刷day16

本周的主题其实是简单但并不简单,本周所选的题目大多是看一下就会的题目,但是大家看完本周的文章估计也发现了,二叉树的简单题目其实里面都藏了很多细节。 这些细节我都给大家展现了出来。

2024-08-29 20:57:10 285

原创 代码随想录四刷day15

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

2024-08-28 12:16:03 289

原创 代码随想录四刷day14

迭代法中我们使用了队列,需要注意的是这不是层序遍历,而且仅仅通过一个容器来成对的存放我们要比较的元素,知道这一本质之后就发现,用队列,用栈,甚至用数组,都是可以的。

2024-08-28 11:20:54 408

原创 代码随想录四刷day13

学会二叉树的层序遍历,可以一口气打完以下十题

2024-08-26 17:28:14 368

原创 代码随想录四刷day12

可能有同学感觉前后中序遍历的递归太简单了,要打迭代法(非递归),别急,我们明天打迭代法,打个通透

2024-08-26 11:02:21 157

原创 代码随想录四刷day11

class MyQueue { Deque deque = new LinkedList(); //弹出元素时,比较当前要弹出的数值是否等于队列出口的数值,如果相等则弹出 //同时判断队列当前是否为空 void poll(int val) { if (!deque.isEmpty() && val == deque.peek()) { deque.poll(); } } //添加元素

2024-08-19 17:48:50 250

原创 代码随想录四刷day10

其实很多算法题目主要是对知识点的考察和教学意义远大于其工程实践的意义,所以面试题也是这样

2024-08-18 16:17:41 250

原创 代码随想录四刷day9

注意这些实现方法并没有改变元素的相对位置!

2024-08-16 19:38:54 363

原创 代码随想录四刷day8

暴力的解法, 就是一个for循环获取 子串的终止位置, 然后判断子串是否能重复构成字符串,又嵌套一个for循环,所以是O(n^2)的时间复杂度

2024-08-15 16:51:54 227

原创 代码随想录四刷day7

如果想把这道题目做到极致,就不要只用额外的辅助空间了! (不过使用Java刷题的录友,一定要使用辅助空间,因为Java里的string不能修改)

2024-08-14 10:59:44 285

原创 代码随想录四刷day6

两层for循环就可以确定 a 和b 的数值了,可以使用哈希法来确定 0-(a+b) 是否在 数组里出现过,其实这个思路是正确的,但是我们有一个非常棘手的问题,就是题目中说的不可以包含重复的三元组。

2024-08-12 12:11:55 334

原创 代码随想录四刷day5

「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。

2024-07-30 15:51:57 171

原创 代码随想录四刷day4

哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元

2024-07-22 11:50:44 320

原创 代码随想录四刷day3

双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。

2024-07-19 22:00:04 301

原创 代码随想录四刷day2

链表操作中,可以使用原链表来直接进行删除操作,也可以设置一个虚拟头结点再进行删除操作,接下来看一看哪种方式更方便。

2024-07-19 11:37:02 209

原创 代码随想录四刷day1

接下来就开始介绍数组操作中另一个重要的方法:滑动窗口。所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。

2024-07-08 10:46:39 181

原创 代码随想录三刷day55

轮转数组分为左移和右移

2024-06-18 11:42:28 421

原创 代码随想录三刷day54

相当于对整个数组移除元素0,然后slowIndex之后都是移除元素0的冗余元素,把这些元素都赋值为0就可以了。

2024-06-11 09:25:53 323

原创 代码随想录三刷day53

因为如果两个点所在的边在添加图之前如果就可以在并查集里找到了相同的根,那么这条边添加上之后 这个图一定不是树了

2024-06-09 14:38:46 323

原创 代码随想录三刷day52

岛屿问题最容易让人想到BFS或者DFS,但是这道题还真的没有必要,别把简单问题搞复杂了

2024-06-02 15:48:16 412

原创 代码随想录三刷day51

依然是从地图周边出发,将周边空格相邻的'O'都做上标记,然后在遍历一遍地图,遇到 'O' 且没做过标记的,那么都是地图中间的'O',全部改成'X'就行。

2024-05-15 00:12:15 768

原创 代码随想录三刷day50

dfs和bfs

2024-05-14 20:44:48 216

原创 代码随想录三刷day49

难就难在本题要记录记录每个柱子 左边第一个小于该柱子的下标,而不是左边第一个小于该柱子的高度。

2024-05-09 00:07:05 178

原创 代码随想录三刷day48

动规五部曲分别为:确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组动规五部曲分别为:确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组

2024-04-30 11:20:09 311

原创 代码随想录三刷day47

本周我们讲了动态规划之终极绝杀:编辑距离,为什么叫做终极绝杀呢?细心的录友应该知道,我们在前三篇动态规划的文章就一直为 编辑距离 这道题目做铺垫

2024-04-25 11:09:23 309 2

原创 代码随想录三刷day46

每次当初始化的时候,都要回顾一下dp[i][j]的定义,不要凭感觉初始化。

2024-04-24 22:05:18 169

原创 代码随想录三刷day45

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。

2024-04-23 11:32:03 215

原创 代码随想录三刷day44

从买卖一次到买卖多次,从最多买卖两次到最多买卖k次,从冷冻期再到手续费,最后再来一个股票大总结,可以说对股票系列完美收官了。

2024-04-22 12:59:19 247

原创 代码随想录三刷day43

给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。

2024-04-22 10:55:15 366

原创 代码随想录三刷day42

而动态规划其实就是使用状态转移容器来记录状态的变化,这里可以使用一个长度为2的数组,记录当前节点偷与不偷所得到的的最大金钱。

2024-04-18 11:22:27 291 2

原创 代码随想录三刷day41

这篇背包问题总结篇是对背包问题的高度概括,讲最关键的两部:递推公式和遍历顺序,结合力扣上的题目全都抽象出来了。而且每一个点,我都给出了对应的力扣题目。

2024-04-16 22:27:19 230

原创 代码随想录三刷day40

这也是大多数同学学习动态规划的苦恼所在,有的时候递推公式很简单,难在遍历顺序上!但最终又可以稀里糊涂的把题目过了,也不知道为什么这样可以过,反正就是过了。那么这篇文章就把遍历顺序分析的清清楚楚。

2024-04-15 23:37:41 193

原创 代码随想录三刷day39

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。

2024-04-14 23:08:55 192

原创 代码随想录三刷day39

但我还会坚持规划好的路线,难度循序渐进,并以面试经典题目为准,该简单的时候就是简单,同时也不会因为阅读量低就放弃有难度的题目!

2024-04-09 23:43:45 218

原创 代码随想录三刷day38

确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组

2024-04-08 23:22:48 233

原创 代码随想录三刷day37

我们知道这是完全背包,如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。

2024-04-06 15:54:30 234

原创 代码随想录三刷day36

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。

2024-03-28 11:20:42 315

原创 代码随想录三刷day35

但我还会坚持规划好的路线,难度循序渐进,并以面试经典题目为准,该简单的时候就是简单,同时也不会因为阅读量低就放弃有难度的题目

2024-03-26 11:56:14 225

原创 代码随想录三刷day34

对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!1确定dp数组(dp table)以及下标的含义2确定递推公式3dp数组如何初始化4确定遍历顺序5举例推导dp数组

2024-03-25 20:29:25 267

原创 代码随想录三刷day33

因为贪心的简单题可能往往过于简单甚至感觉不到贪心,如果我连续几天讲解简单的贪心,估计录友们一定会不耐烦了,会感觉贪心有啥好学的。但贪心的难题又真的有点难,所以我是简单困难交错着讲的,这样大家就感觉难度适中,而且贪心也没有什么框架和套路,所以对刷题顺序要求没有那么高。

2024-03-24 15:10:38 169

Python快速入门-连接数据源

Python+快速入门+小白+初学者+连接数据源

2023-09-16

Python快速入门-面对对象程序设计

Python+小白+初学者+快速入门+面向对象程序设计

2023-09-16

Python快速入门-程序控制

Python+小白+初学者+快速入门+程序控制

2023-09-16

Python快速入门-文件相关操作

Python+小白+初学者+快速入门+文件操作

2023-09-16

Python快速入门教程

Python+小白+初学者+快速入门+简洁明了

2023-09-16

Python快速入门必备

快速入门+Python+面试必备+秋招冲刺+人手必备

2023-09-16

空空如也

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

TA关注的人

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