自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(30)
  • 收藏
  • 关注

原创 git提交规范

日期_姓名首字母缩写_功能单词,如240902_th_fixbug。

2024-09-02 09:28:19 399

原创 【单调栈】|代码随想录算法训练营第42天|42. 接雨水、 84.柱状图中最大的矩形

使用单调递增栈解决,注意计算面积找两边最高,右侧最高是当前遍历的值,左侧最高是栈内的第二个值。

2024-08-27 09:18:40 171

原创 【单调栈】|代码随想录算法训练营第41天|739. 每日温度、 496.下一个更大元素 I、503.下一个更大元素II

使用单调栈解决,注意单调栈里面的存放内容为下标值。

2024-08-26 11:01:00 352

原创 【回溯算法】|代码随想录算法训练营第22天|491.递增子序列、 46.全排列、47.全排列 II、【总结】

回溯算法主要解决以下问题组合问题:N个数里面按一定规则找出k个数的集合排列问题:N个数按一定规则全排列,有几种排列方式切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集棋盘问题:N皇后,解数独等等解题思路主要是回溯三部曲void backtracking(参数) {if (终止条件) {存放结果;return;for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表);

2024-08-08 19:17:05 426

原创 【回溯算法】|代码随想录算法训练营第21天|93. 复原 IP 地址、 78. 子集、90.子集II

结题思路类似回文子串的切割,注意ip地址合法性的判断。

2024-08-08 16:43:36 334

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

可以使用递归三部曲解决问题,注意循环的边界,可以重复。

2024-08-08 15:46:09 296

原创 【回溯算法】|代码随想录算法训练营第19天|77. 组合、216.组合总和III、17.电话号码的字母组合

回溯算法并不是一个高效算法,它的目的是穷举,替代多层for循环,回溯算法和递归算法相关纠缠,在递归的前后要进行回溯,回溯算法可以理解为树型结构,树的宽度就是for循环的范围,树的深度就是递归的层数。使用循环嵌套可以实现组合结果,但是如果很多位的组合,就需要多层嵌套,如果层数过多,就无法写了,使用回溯法解决,回溯三部曲。

2024-08-07 17:35:20 346

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

二叉树的种类、存储方式、遍历方式、定义方式。

2024-07-29 22:13:23 330

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

配合二叉搜索树的特性寻找公共祖先。

2024-07-22 19:47:39 357

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

中序遍历,构造数组,然后求两两之差,另外就是使用双指针,维护pre为cur的前一个节点,然后两两判断差值。

2024-07-22 17:58:13 186

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

构建二叉树,用中序遍历,先创造根节点再创造左右子树。

2024-07-22 16:41:04 306

原创 【二叉树】|代码随想录算法训练营第14天|513.找树左下角的值、路径总和、从中序与后序遍历序列构造二叉树

层序遍历最后一行第一个就是答案,递归遍历需要注意回溯和左下角节点的逻辑,注意左下角的定义,不是左叶子节点。

2024-07-19 14:47:39 413

原创 【二叉树】|代码随想录算法训练营第13天|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数

高度距离叶子节点的距离,深度距离根节点的距离,平衡二叉树,左子树和右子树高度差不超过1,用后序遍历,判断每个节点的高度差。

2024-07-18 21:49:26 468

原创 【二叉树】|代码随想录算法训练营第12天|226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

翻转二叉树,就是逐级进行左右节点进行交换,可以用前序和后续遍历,不能使用中序遍历,中序遍历会导致已经交换的节点重新换回原来的位置。

2024-07-18 17:32:01 306

原创 深度重学JAVA静态内部类的加载时机

经过上面代码的测试,可以得到一下结论,静态内部类和非静态内部类一样,都不会因外部类的加载而加载,同时静态内部类的加载不需要依附外部类,在使用时再加载,实现了懒加载,同时类的加载JVM有加载的机制,同时也实现了并发安全,但是尽管静态内部类可以不依赖外部类实现懒加载,但是加载静态内部类的同时也会加载外部类。

2024-07-17 17:18:07 489

原创 【二叉树】|代码随想录算法训练营第11天|二叉树递归遍历、二叉树迭代遍历、二叉树层序遍历

int val;

2024-07-17 10:10:08 1771

原创 【栈与队列】|代码随想录算法训练营第10天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素、【总结】

文章讲解。

2024-07-14 17:58:11 326

原创 【栈与队列】|代码随想录算法训练营第9天|232.用栈实现队列、225. 用队列实现栈、 20. 有效的括号、1047. 删除字符串中的所有相邻重复项

用栈的特殊性,先进后出,队列是先进先出,所以使用两个栈实现队列的特性。

2024-07-13 10:03:53 404

原创 深度重学JDK动态代理

这个类包含了很多方法,看一下getProxyClass这个方法,尽管已经标注不建议使用,但是通过名字可以大概猜测到,这个函数是获取代理类的class对象,在前面通过class反射获取constructer构造函数,然后通过constructer.newInstance方法生成对象实例,那么我们探究一下这个class代理对象,但是问题来了,如果这样做,那是不是只要加日志,就要写代理类,那样有多少个service类就要写多少个代理类,那不疯了吗,那我们就想,能不能动态的生成这个代理类,那我们就到了今天的主角。

2024-07-12 06:03:22 2549

原创 【字符串】|代码随想录算法训练营第8天| 151.翻转字符串里的单词 、卡码网:55.右旋转字符串、28. 实现 strStr()、459.重复的子字符串、【总结】

字符串常见的解法有双指针法字符串要注意翻转算法的精髓。

2024-07-11 17:08:09 304

原创 【字符串】|代码随想录算法训练营第7天| 344.反转字符串 、541. 反转字符串II 、卡码网:54.替换数字

控制循环区间,每次都是2k个,然后把前k个翻转,翻转的函数和反转字符转的逻辑一样。

2024-07-10 18:10:05 429

原创 【哈希】|代码随想录算法训练营第6天| 第454题.四数相加II 、383. 赎金信 、 第15题. 三数之和 、 第18题. 四数之和、【总结】

文章讲解。

2024-07-10 16:49:49 514

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

当两个元素经过哈希函数产生的关键码一样的时候,就发生了哈希碰撞。哈希表是根据关键码的值而直接进行访问的数据结构。哈希函数是计算关键码的算法。哈希碰撞的解决办法有两种。

2024-07-09 22:20:19 902

原创 【链表】|代码随想录算法训练营第4天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点 、02.07. 链表相交 、142.环形链表II、【总结】

文章讲解。

2024-07-07 16:53:39 569

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

链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)

2024-07-06 17:06:03 242

原创 磁盘重新分区并挂载

通过lsblk发现磁盘还有待分区空间,所以我们下面想要将剩下的空间进行分区,然后进行磁盘挂载。创建新分区以后出现了warming,创建分区失败,于是我按照步骤进行了。接下来虚拟机就再也没启动了。我去迎接运维大哥的板砖了。暂时就说到这里,未完待续。

2024-07-06 11:14:20 353

原创 如何在 Linux 中检查未挂载的磁盘

运行 lsblk 命令可以列出系统中所有的块设备,包括已挂载和未挂载的磁盘。今天有人说服务器没挂载硬盘,我也登录上系统查看了一下硬盘挂载情况,然后记录一下这个lsblk命令。MOUNTPOINT:挂载点,表示磁盘或分区当前的挂载位置。0 表示非可移动设备,1 表示可移动设备。TYPE:设备类型,如 disk 表示磁盘,part 表示分区。sda1 是一个分区,大小为 1GB,挂载在 /boot 目录。sda2 是一个分区,大小为 79GB,用作交换分区。NAME:设备名称,表示磁盘的标识符。

2024-07-06 10:33:31 539

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

文章讲解。

2024-07-04 22:49:18 915

原创 JAVA泛型

Java集合(Collection)中元素的类型是多种多样的。例如,有些集合中的元素是Byte类型的,而有些则可能是String类型的,等等。Java允许程序员构建一个元素类型为Object的Collection,其中的元素可以是任何类型在Java SE 1.5之前,没有泛型(Generics)的情况下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要作显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以在预知的情况下进行的。

2024-07-04 09:43:09 1543

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

左闭右开 [left, right)左闭右闭 [left, right]

2024-07-03 22:59:07 335

空空如也

空空如也

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

TA关注的人

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