自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker 开启 SSL 验证

最近看 OJ 项目的远程开发阶段,然后踩坑踩了 2 天😂Docker版本:在CentOS安装版本:依赖</</</</</</</</

2024-05-23 15:44:09 318

原创 Spring @Transactional 注解

官方文档:https://docs.spring.io/spring-framework/reference/data-access/transaction/declarative/annotations.html#:~:text=The%20%40Transactional%20annotation%20is%20metadata,suspending%20any%20existing%20transaction%22).

2024-04-16 14:52:39 452 1

原创 ARTS 第一期

这道算法对我来说很有意义,为什么?因为这一道算法让我意识到我之前写的算法都是「混」过来的,理解根本不到位,怎么解决?重复的刷之前写过的重要的算法,仔细思考解答:首先来看一下下面的图可以发现,分为 3 部分左边不重叠的区间中间重叠的区间右边不重叠的区间那么主要的问题就是,这几个区间的如何进行区分?首先左边不重叠的区间,我们可以很容易想到: 绿区间的< 蓝区间的。然后呢, 如何区分中间的重叠区间?首先我们需要明白,如果是已经经过了上面的判断到达需要判断是不是重叠的时候,隐含的条件就是。

2023-09-28 11:47:54 192

原创 算法通关村——原来贪心如此简单

贪心不一定能够达到最效的解法,但是一般情况下可以到达最优解法。更多的情况下,我们不需要太过于考虑所谓的贪心解法。

2023-09-16 14:19:11 154

原创 算法通关村——滑动窗口高频问题

对应的就是的滑动窗口,这个就是滑动窗口是变化地类型这种算法这里为什么需要取 max?因为当我们遇到一些特殊情况下,比如 abba 这种情况下,我们会发现如果直接写 left = map.get(chars[right]) + 1 的情况下我们就会发现 以下的情况会出现错误,所以需要整。

2023-09-09 13:22:18 306

原创 算法通关村——原来滑动窗口如此简单

上面代码中,序列在【left…right】 严格单调递增,区间的长度为right - left。而且滑动窗口就是快慢双指针的一个有特殊情况,所以不要把他想的太过于复杂,合理对待即可。滑动串口在很多地方都有运用,比如。

2023-09-05 21:45:44 79

原创 算法通关村——从40个亿中找到一个不存在的数字

Titile: 海量数据场景下的热门算法题。

2023-09-01 18:26:46 226

原创 java.lang.NullPointerException: Cannot invoke “org.springframework.data.redis.core.RedisTemplate.ops

但是我发现了一个问题就是 SpringBoot 这么没启动?首先确保自己引入了对应的 依赖文件。之后仔细检查发现是自己用错了。

2023-08-31 23:11:38 3161 2

原创 算法通关村——位运算在查找重复元素中的妙用

题目要求:给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB的内存可用,该如何打印数组中所有重复元素。这样我们就可以使用非常少的内存找到重复的元素,非常的巧妙!找到了对应的 bs 中的位置,找到了位置之后我们干一件事。如果我们使用的就是数组,我们所需要的内存最少就要有。让后遍历传入的数据,我们通过对应的。首先创建了一个 bit 字节的数组。判断这个位置是 0 还是 1。下面来解释一下这段代码的。

2023-08-31 22:57:35 105

原创 算法通关村——解析堆的应用

Medium我们要找第 K 大的元素,如果我们找使用大堆的话那么就会造成这个堆到底需要多大的,而且哪一个是第 K 的的元素我们不知道是哪一个索引,我们更想要的结果就是根节点就是我们要找的值,所以我们可以使用 小堆,使用小堆的好处就是,我们可以用到小堆的性质:根节点最小。使用这个我们在结合 if 判断一下,就可以实现这个效果了!

2023-08-29 13:00:08 141

原创 算法通关村——原来这就是堆

堆是将一组数据按照完全二叉树的存储顺序,将数据存储在一个一维数组中的结构。堆有两种结构,一种称为大顶堆,一种称为小顶堆关于大小堆的相关事项。

2023-08-28 10:51:29 52

原创 算法通关村——字符串问题解析

两个指针:一个指针 i 初始位置是在 index 为 0 的位置,一个指针 j 初始位置是在 index 为 len - 1 的位置,其中 j 是把所谓的字母加到前面的一个指针,j 这个指针不关心 特殊字符的位置 的位置。我们使用 Hash 表格记录每一个字符出现的次数,让后遍历 Hash 表格,我们最后找到 Hash 表格之中对应的第一个值为一的索引所在的位置。right 的索引位置超过了,数组的索引长度,现在就体现到了代码之中的 Math.min(r, len - 1 ) 这里就会防止。

2023-08-25 17:13:33 173

原创 算法通关村——字符串问题 LeetCode8

(res == Integer.MAX_VALUE / 10 && (currChar - ‘0’) > Integer.MAX_VALUE % 10):这部-分判断在当前已经转换的整数值达到了 Integer.MAX_VALUE 的十分之一时,检查当前字符形式的数字转换为的整数值是否大于 Integer.MAX_VALUE 的个位数部分。如果达到了,后续的乘法和加法可能导致溢出。通过减去字符 ‘0’ 的ASCII值(48),我们可以将字符 ‘0’ 转换为整数值 0,字符 ‘1’ 转换为整数值 1。

2023-08-22 19:22:49 134

原创 算法通关村——位运算白银挑战

Easy最关键的就是 n = n & (n - 1) 这句话,首先他的作用是 是将整数 n 的二进制表示中的最后一个 1 变为 0。这个操作可以用来统计一个整数中的二进制表示中有多少个 1(也被称为 “位1的个数” 问题)还有一种方式:利用 & 运算的性质 + for 循环进行遍历。

2023-08-20 20:58:58 33

原创 算法通关村——位运算的操作规则和常见技巧

一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011。这里的 00000011 和 10000011 就是机器数。因为机器数第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。

2023-08-18 10:30:19 73

原创 Spring5学习笔记 5w字长文

Bean包管理分为两个方面创建bean对象给bean注入属性Bean的配置方式基于xml文件配置方式基于注解方式● AOP实现方式基于动态代理的方式[内置 aop 实现]使用框架 aspectj 来实现 真正的SpringAOP!!

2023-08-17 23:42:27 74

原创 算法通关村——二分法的具体应用

此时mid的值三种情况。

2023-08-12 22:03:23 69

原创 算法通关村——透彻理解二分查找

算法中最重要的是 Hash 查找和二分查找

2023-08-10 19:43:26 44

原创 算法通关村—轻松搞定二叉树深度问题

【代码】《算法通关村—轻松搞定二叉树深度问题。

2023-08-10 09:52:33 54

原创 算法通关村—轻松搞定二叉树高频题目

这个其实和上面的没什么区别,就是验证的是一棵树的。我自己画的图示,画的有点草率🤣。合并的节点有三种情况。

2023-08-08 00:04:19 60

原创 算法通关村—迭代实现二叉树的遍历

递归能做的迭代一定能做,只不过递归会复杂一些。

2023-08-05 23:19:37 59 1

原创 算法通关村—广度优先遍历原来如此简单

·

2023-08-04 13:18:20 72 2

原创 算法通关村—如何使用中序和后序来恢复一颗二叉树

请注意,我们通常将「高度」和「深度」定义为「走过边的数量」,但有些题目或教材可能会将其定义为「走过节点的数量」。在这种情况下,高度和深度都需要加 1。

2023-08-01 13:19:52 47 1

原创 算法通关村第五关--白银挑战

我们使用 Hash 表存储每一次遍历的。

2023-08-01 09:03:50 60 1

原创 算法通关村—队列和Hash

哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。这里的映射到底是什么意识?为什么访问的时间复杂度是O(1)?

2023-07-30 20:36:40 53 1

原创 算法通关村—栈相关(括号问题、最大、最小栈问题)问题解析

题目: leetcode20最小栈题目:155. 最小栈这里的思想是比较重要的首先插入时最大栈题目:LeetCode 716

2023-07-29 23:31:52 63

原创 算法通关村—如何基于数组(或者链表)实现栈

栈和队列是比较特殊的线性表,又称之为访问受限的线性表。钱是很多表达式、符号等运算的基础,也是递归的底层实现。理论上递归能做的题目栈都可以,只是有些问题用栈会非常复杂。栈底层实现仍然是链表或者顺序表,栈与线性表的最大区别是数据的存取的操作被限制了,其插入和删除操作只允许在线性表的一端进行。「栈 Stack」是一种遵循先入后出(First In, Last Out)原则的线性数据结构。

2023-07-28 17:42:14 36 1

原创 算法通关村 一 双指针的妙用

从下面序列中删除重复元素[1,2,2,2,3,3,3,5,5,7,8],重复元素只保留个。删除之后的结果应该为[1,2,3,5,7,8]。我们如果每一次都是通过整体移动的话,那样效率实在是太低了。我们可以尝试使用 双指针 ------简单且高效的方式这样之后 slow 之前的值就满足条件啦!

2023-07-27 10:12:26 97 1

原创 编程导航算法通关村一不简单的数组增删改查

数组。

2023-07-25 09:31:55 263

原创 算法通关村第二关一一白银挑战指定区间反转问题解析

给你单链表的头指针 head 和两个整数 left 和 right ,其中 left

2023-07-22 17:53:41 539 1

原创 算法通关村第二关一终于学会链表反转了

题目。

2023-07-21 17:42:35 576 1

原创 编程导航算法通关村第1关|白银教程学习总结

刷算法没有思路怎么办?把常见的数据结构和算法思想过一遍。常用的数据结构有数组、链表、队、栈、Hash、集合、树、堆。常用的算法思想有查找、排序、双指针、递归、迭代、分治、贪心、回溯和动态规划等等。

2023-07-20 23:49:45 2242 15

原创 编程导航算法通关村第1关|青铜教程学习总结

链表 Linked List」是一种线性数据结构,其每个元素都是一个节点对象,各个节点之间通过指针连接,从当前节点通过指针可以访问到下一个节点。由于指针记录了下个节点的内存地址,因此无需保证内存地址的连续性,从而可以将各个节点分散存储在内存各处。链表「节点 Node」包含两项数据,一是节点「值 Value」,二是指向下一节点的「指针 Pointer」,或称「引用 Reference」。– 来源 hello 算法。

2023-07-18 22:51:58 1246 1

原创 SpringMVC 吐血总结「5W字」长文

在默认情况下,我们都是返回默认的视图, 然后这个返回的视图交由 SpringMVC 的InternalResourceViewResolver 视图处理器来处理的-- 这个目录第一个/表示的是 web 目录-->在实际开发中,我们有时需要自定义视图,这样可以满足更多更复杂的需求.MyView.jsp这个就是自定义视图 , 需要继承/*** 1. MyView 继承了 AbstractView 就可以当做视图使用了。

2023-07-01 17:13:21 75

原创 MySql数据库笔记

顺序不能颠倒-- 应用案例:请统计各个部门的平均工资avg,-- 并且是大于1000的,并且按照平均工资从高到低排厅-- 取出前两行记录 -- 好像我落了这节。

2022-12-20 19:46:59 483 2

原创 Map以及HashMap源码笔记

Map底层 : 数组 + 链表 (jdk7)数组 + 链表 + 红黑数 (jdk8)面试题:①HashMap的底层源码?② HashMap和Hashtable的异同?③ CurrentHashMap和Hashtable的异同?Map中的key是无序的,不可重复的,使用set存储所有的key --> 自定义的类一定要重写 equals()和 hashCode() (以HashMap为例)Map中的value 是无序,可以重复的, 使用Collection存储所有的key. --> 自定义

2022-11-29 11:18:06 195

原创 集合笔记分享

说明: 此时的存储, 主要是指内存层的存储, 不涉及持久化的存储(,txt, .jpj, .avi ,数据库等等)数据存储的特点: 有序, 可重复. 对于无序, 不可重复的需求, 不能满足。数组一旦确定好, 其元素的类型就确定了 , 我们只能操作指定类型的数据了。数组的方法非常有限, 增删改查都需要自己写, 非常不方便, 同时效率不高。集合\数组都是对于多个数据进行存储的结构, 简称java容器.获取数组中实际元素的个数, 数组没有现成的属性或方法可用。一旦初始化以后, 长度就确定了.

2022-11-27 20:24:13 163

原创 IO流知识点笔记

IO知识点笔记, 对应尚硅谷java课程

2022-11-24 12:08:54 460 2

原创 静态static关键字

static学到的一些东西

2022-09-08 11:37:18 93 2

空空如也

空空如也

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

TA关注的人

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