自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 两两交换链表中的节点 java

递归法:参考了Leetcode评论区大神的方法,很直白!如果觉得很绕的话,直接把节点都定义出来。我首先想到的是迭代,因为我不会用递归。两种方法:递归法和迭代法。

2025-05-24 16:59:46 45

原创 代码随想录 删除倒数第n个节点

双指针,让第一个指针先移动n个单位,之后两个指针同时移动,直到第一个指针指向的节点为空。

2025-05-24 16:11:27 31

原创 leetcode 两数相加 java

一开始没看懂题目,没明白逆序是啥意思,原来就是从右向左看链表。返回链表的时候,只需要返回链表的头节点即可,即返回了整个链表。算法和代码都可以参考这篇博客,只不过这个是c++版本的。

2025-05-24 14:59:12 49

原创 leetcode 螺旋矩阵 java

【代码】leetcode 螺旋矩阵 java。

2025-05-21 19:36:26 211

原创 容器与宿主机目录挂载(利用数据卷和直接挂载)

数据卷是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

2025-05-21 15:37:49 909

原创 leetcode 旋转数组 java

将原数组下标为 i 的元素放至新数组下标为 (i+k)modn 的位置,最后将新数组拷贝至原数组即可。本来想用栈或者队列来解决,发现一直报k>nums.length的错。

2025-05-20 22:59:25 278

原创 leetcode 合并区间 java

【代码】leetcode 合并区间 java。

2025-05-20 22:23:31 270

原创 leetcode 和为 K 的子数组 java

定义一个hashmap,key为前缀项和,value为前缀项和出现的次数。一开始没太理解题目是啥意思,后来看了一下解题,才读懂题目。,就是要看一下之前的前缀项和有没有等于pre-k的。前缀项和+hashmap。

2025-05-20 17:46:36 70

原创 leetcode 找到字符串中所有字母异位词 java

这个方法是我自己写的,但是没怎么找到类似的方法,而且执行时间有点长。

2025-05-20 16:39:58 266

原创 leetcode最长连续序列 java

【代码】leetcode最长连续序列 java。

2025-05-19 15:47:35 127

原创 leetcode 字母异位词分组 java

先把strs字符串数组中的每个字符串排序,排序后的字符串作为list的key。每个字符串被加到对应key的list中。把list再加到map中,最后返回map的value。

2025-05-18 17:27:56 100

原创 leetcode 最长公共子序列 java

一开始没用动态规划写,虽然写出来了,但是提交的时候一直报错,也不知道怎么改,就看了解题,用了动态规划。

2025-05-17 17:41:25 182

原创 leetcode 最长回文子串 java

与代码随想录有所不同,这道题不仅仅要判断最长回文子串的长度,还要把最长回文子串输出出来。

2025-05-17 16:58:43 70

原创 leetcode 动态规划问题

可以是不连续的,那么需要两次for循环(先遍历背包)要求是连续的子数组,那么用一次for循环就行。

2025-05-14 20:45:35 259

原创 leetcode 杨辉三角 java

知道定义一个链表,但是只知道定义。

2025-05-12 23:46:46 119

原创 leetcode 划分字母区间

能理解要找到最后字母出现的位置,但是不知道怎么找。

2025-05-11 16:46:11 205

原创 leetcode跳跃游戏I 和II 总结

搜了很多博客,还是不理解思路,想到代码随想录有两道题,当时我也是理解了,现在再重新复习和整理一下思路。跳跃游戏I 只需要判断能不能到达数组末尾,而跳跃游戏II还需要确认到达数组末尾之后需要最小的步数。,因为i超过了当前能到达的最远距离。贪心算法,但是不知道贪心在哪儿。,那么就要执行下一步,

2025-05-11 16:00:26 158

原创 leetcode 前k个高频元素 java

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。关于Map的讲解,参考博客https://blog.csdn.net/Sunshineoe/article/details/122016550。keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map提供了一些常用方法,如keySet()、entrySet()等方法。

2025-05-10 17:13:14 117

原创 leetcode 数组中的第k大元素 java

以数组某个元素(一般选取首元素)为基准数,将所有小于基准数的元素移动至其左边,大于基准数的元素移动至其右边。对 左子数组 和 右子数组 递归执行 哨兵划分,直至子数组长度为 1 时终止递归,即可完成对整个数组的排序。但是面试的时候不能就这么写吧,就开始学leetcode官方给出的第二种方法。下图展示了数组 [2,4,1,0,3,5] 的快速排序流程。参考leetcode评论区,这种方式确实好理解一些。一开始直接用类自动排序,贼拉方便。

2025-05-10 15:56:48 114

原创 leetcode每日温度java

之后参考了这篇博客和卡码笔记https://blog.csdn.net/xiaoshiguang3/article/details/145503217。要注意while()的&&左右顺序不能更改,要不然还是会报栈为空的错。知道用栈,但是不知道怎么用,最后自己用数组写出来了,但是超出时间限制。

2025-05-10 15:14:06 132

原创 leetcode字符串解码

Java Character.isWhitespace() 方法,判断字符是否为空白字符。Java Character.isUpperCase() 方法,判断字符是否为大写字母。Java Character.toUpperCase() 方法,将小写字符转换为大写。Java Character.toLowerCase() 方法,将大写字符转换为小写。Java Character.isLetter() 方法,判断字符是否为字母。Java Character.isDigit() 方法,判断字符是否为数字。

2025-05-09 23:30:59 295

原创 最小栈leetcode

这道题需要定义两个栈,一个正常存储,另一个只存储最小值。当正常栈删减时,最小栈需要进行实时更新最小值。我一看到这种类似底层的题就有点怕,生理畏惧,但是还是要硬着头皮学。

2025-05-09 22:25:33 108

原创 leetcode 实现前缀树Trie

hashmap get的是key。

2025-05-07 23:03:58 101

原创 leetcode 207课程表

要先了解一下,可以参考这篇博客。

2025-05-07 22:01:22 116

原创 腐烂的橘子leetcode

使用广度优先搜索,搜索步数就是分钟数,等到所有橘子都腐烂后,各个橘子腐烂的最长分钟数就是全部都烂的最小分钟数。

2025-05-01 22:23:18 111

原创 leetcode 岛屿数量

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:grid = [输出:1输入:grid = [输出:3grid[i][j] 的值为 ‘0’ 或 ‘1’

2025-04-29 21:36:52 225

原创 java基础常见面试题笔记(上)——JavaGuide

从字节码中,我们发现装箱其实就是调用了包装类的valueOf()方法,拆箱其实就是调用了 xxxValue()方法。因此,等价于等价于注意:如果频繁拆装箱的话,也会严重影响系统的性能。我们应该尽量避免不必要的拆装箱操作。

2025-04-08 10:10:35 686

原创 黑马点评redis秒杀优化,uerid为空报错

获取用户id时,不能通过threadlocal获取,因为这是个异步的子线程,需要从voucherOrder中取。

2025-04-01 23:21:18 99

原创 黑马点评分布式锁——个人笔记

满足分布式系统或集群模式下多进程可见并且互斥的锁就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路本项目采用redis利用setnx获取锁,实现互斥。利用setex实现锁的超时自动释放。(采用opsForValue的setIfAbsent方法,确保每次只有一个锁存在,同时增加过期时间,防止死锁。在返回那里,返回的是Boolean.TRUE.equals(success);而不是直接返回success,这样不会返回空指针。

2025-04-01 16:39:22 414

原创 黑马点评优惠券秒杀——个人笔记

别看就这几节课,我出了好多bug。。。这是我目前整理的笔记,欢迎评论或者私信!

2025-03-28 19:32:46 700

原创 黑马点评实战商户查询缓存——个人笔记

这部分内容需要理解的东西还是很多的,而且我没有完全将代码和原理结合起来理解,还需要再好好看看代码和视频。这篇笔记中,如有抄袭侵权其他文章,请文章作者联系我哦~

2025-03-26 19:07:35 649

原创 黑马点评实战篇短信登录——个人笔记

个人学习java的笔记,如有侵权,请联系我更改一下

2025-03-21 21:53:38 1002

原创 在idea上导入sql文件

在IDEA中创建datasources。输入自己的数据库账号和密码,database名称是自己刚才创建的名称(我的是hmdp)。解决:在.sql文件中找到begin_time和end_time,改一下时间。可能还会报错,可以参考一下这两篇文章。在IDEA的项目文件夹中找到sql文件并执行(没有sql文件的话,需要自行导入到idea工程中)。需要注意的是,黑马点评中的sql文件会报begin_time和end_time的错。需要选择刚才创建的database。测试连接,连接成功。

2025-03-19 11:43:37 1007

空空如也

空空如也

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

TA关注的人

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