自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode.3.最长无重复字符子串

如果是没有学过滑动窗口算法思想的小白,看到这个题目的第一思路应该就是暴力循环,然后嵌套循环判断是否为无重复的连续子串,然后记录子串长度。但是这样使用循环嵌套的方法会导致时间复杂度直接来到 O(n^2), 是十分低效的,最好的方法是使用滑动窗口动态判断子串的长度。这题的思路是,创建一个滑动窗口,然后我们维护这个滑动窗口,确保滑动窗口中的子串保持不重复。然后移动滑动窗口,这样我们就能动态计算最大长度了。,请你找出其中不含有重复字符的。由英文字母、数字、符号和空格组成。

2024-06-03 17:58:41 150

原创 Seata分布式事务失效解决方法

关于 Seata 分布式事务分支回滚失效的解决方法,对于这类问题,需要我们耐心,多方位的思考排查问题,善于使用搜索引擎,获取前人的踩坑点,从而解决问题。

2024-05-19 10:34:15 305 1

原创 LeetCode.151 反转字符串中的单词

为了锻炼我们处理字符串的能力,我们可以不使用 Java 提供的各种 API,而是自定义函数完成对字符串的处理。这里我们可以拆分成三个函数,一个去除两端的空格和单词间空格的函数,一个反转指定区间字符串的函数,一个反转每个单词的函数。我们解决翻转单词的思路是 :==去除空格=>==翻转整个字符串=>==翻转每个单词=>有了具体思路,我们就可以直接进行操作了。首先我们要去除字符串中多余的空格,由于 Java 的字符串不可变性这里我们必须创建 StringBuffer 进行操作//创建StringBuffer。

2024-01-07 02:06:04 891 1

原创 LeetCode.541-反转字符串Ⅱ

这题主要是要考虑到递增的条件 ii += 2 * k,和代表的是剩余元素等于 k ,本人对下标的加减处理还不是很清晰,总是搞不清楚下标加减后对应的条件和数量关系,需要多加练习。

2024-01-01 00:01:27 335

原创 LeetCode.15.三数之和

这道题目相比前面的两数之和,难度有所提升,主要是我们要想到使用双指针来优化三元组的查找。不然直接使用哈希表会出现难以操作去重行为,而且时间复杂度还是比较高的。这题就到这里了,欢迎各位前来交流指点。

2023-12-28 19:01:57 323 1

原创 LeetCode 1.两数之和

有人相爱,有人夜里开车看海,有人LeetCode第一题都做不出来。(手动狗头)这道题目还是考察我们对于哈希表的应用。当然我们也可以使用暴力算法,也是可以通过这道题目的,我们可以逐步优化自己的方法。本人刚开始写的时候也是使用O(n^2)的复杂度,后面想到使用双指针加排序,优化到了O(nlogn),最后使用哈希表优化到了O(n)。我们要经历自己去优化方法的过程,这个过程还是比较锻炼我们的编程思维的。

2023-12-17 23:48:39 448 1

原创 LeetCode 202.快乐数

这道题目考察了我们,模拟,选用合适的数据结构存储数据的能力,这里我们合适使用Set集合存储,因为,Set中查找元素只需要O(1)的时间复杂度,而链式结构需要O(n)。方法二的快慢指针适用于查找存在环形结构的题目。好了,本题的就说到这里!

2023-12-15 11:36:47 398

原创 LeetCode 350.两个数组的交集Ⅱ

这道题目主要考察了对于哈希表和双指针的应用,需要结合题目给出的数据判断使用什么方法解答,解题过程中要考虑时间复杂度,双指针使用过程中我们要考虑对于指针移动条件的判定,这道题目是对元素大小进行判断,让小的那一方指针进行移动。

2023-12-15 11:13:53 344

原创 LeetCode 438.找到字符串中的所有字母异位词

这题使用基础暴力方法,选择对了数据结构也是可以做出来的,就是时间复杂度可能比较高,但还是可以通过leetcode的数据测试,想要优化的话,我们就需要使用滑动窗口算法,这种方法是用于在一个字符串中查找子串,或者判断异位词等多种情况下大幅度减小时间复杂度的一种方法。需要我们多积累滑动窗口的应用场景!

2023-12-14 00:37:12 478 1

原创 LeetCode 49.字母异位词分组

其实这道题目的两种方法,底层思想都是类似的,利用哈希表来存储key,然后将不同的异位词存入哈希表中对应的List中,最后直接将map对应的values转换成List返回即可。我们需要读懂题意,搞清楚什么是异位词。

2023-12-13 22:30:15 636 1

原创 LeetCode 242. 有效的字母异位词

这道题目是一道简单题,我们需要掌握关于字符串的常用处理方法,读懂题意其实并不难,其实使用sort的方法看起来代码还是异常的简洁的,但是使用数组计数的方法,时间复杂度会更低一些。

2023-12-13 21:53:09 360 1

原创 LeetCode 287.寻找重复数

这道题目有多种解题方法,还是非常考验经验积累和思路的,不然像作者一样只会使用哈希表和暴力了,第四种方法快慢指针,使用的Floyd判圈算法真的十分巧妙,将链表中的判断是否有环的思路运用到数组中去,也能实现同样的效果,只能说是异曲同工之妙了!当没有什么思路的时候,不妨将各种数据结构都想一遍,看能不能找到合适的数据结构解题!路漫漫其修远兮,吾将上下而求索!与君共勉!

2023-12-10 18:01:00 1009 1

原创 LeetCode 142.环形链表

这道题目主要考察了我们对于数量关系的理解程度,和对快慢指针的使用场景。其实这道题目考察了两个问题1.链表中是否有环2.链表中的环在哪个位置我们要层层深入,逐一击破。掌握了判断链表中是否有环的方法(快慢指针),以后遇到此类判断环的题目就不会再迷糊了。

2023-12-10 13:54:59 841 1

原创 LeetCode 面试题 02.07. 链表相交

这道题目其实更多考察的是思维上的模式,代码并不难,我们要学会对问题进行抽象,并且分析问题中的关键对象和数量关系,只有看懂了题目才能有思路,有了思路,解题就能更加得心应手!共勉!

2023-12-09 00:05:11 350

原创 Redis学习中的对象序列化问题

我们可以直接使用@JsonSerialize()注解为其指定LocalDateTimeSerializer序列化器,至此,问题解决!本人在学习Redis的过程中需要将店铺对象的数据序列化后存入Redis中,由于本人使用的是RedisTemplate自定义序列化器。但是再次存入shop数据到redis却发现create_time字段居然被序列化为了另一种更为复杂的形式。

2023-12-05 12:51:04 380

原创 Spring Cache技术(缓存抽象框架)

Spring Cache技术是Spring官方提供的缓存抽象框架,这个技术大大简化了Java原始操作缓存的操作,提供了统一的操作方式操作缓存(Redis、Encache)第一次学习这个技术感觉真的很爽有没有,注解直接可以实现原来的添加删除读取缓存操作。

2023-09-26 20:40:26 43

原创 字符串【洛谷题单】P1598垂直柱状图

刷题的过程是自我检测和提升的过程,刷题过后的总结也是必不可少的,洛谷上有一系列完整的题单,非常适合系统的刷题,今天这道题目是关于字符串的,希望能对大家有所帮助!题目描述写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过 100100 个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。输入格式四行字符,由大写字母组成,每行不超过 100100 个字符输出格式由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。

2023-02-21 22:10:45 433 13

空空如也

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

TA关注的人

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