自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java创建线程任务,Thread基本方法

3种创建方式1.创建任务类继承Thread,start2.创建任务类实现Runnable接口,交给Thread,start。比起1的好处在于还可集成其他类2.1 匿名内部类2.2 lambda表达式创建3. 实现Callable接口,封装成FutureTask对象,再交给Thread。比起2好处在于:可以掉get方法拿到线程返回结果。

2024-03-08 15:13:41 383

原创 二叉树三种遍历,非递归,统一模板

中序遍历,访问到某个节点时,不能直接输出他,要维护结点顺序。且目标是像递归实现一样有个统一模板,不同遍历顺序只需要调整几行代码的顺序。

2024-03-08 13:59:41 381

原创 leetcode 142.环形链表II 快慢指针可以找环,还可以找环的入口位置

这题用哈希表记录出现过的结点很简单,找第一个重复的即可,但是空间复杂度非O(1)卡了半天没做出来,看了代码随想录的题解,妙啊。快慢指针判断是否有环,这个是基本功。

2024-03-02 20:19:19 359

原创 leetcode 面试题02.07.链表相交 双指针基本解法以及骚操作

两个指针,都遍历了两根链表,所以总步数都是m+n(链表长度m, n),而相交部分的长度是一样的,记作len,所以这种从头再遍历的方法,可以保证到达相交节点步数都是(m+n-len)。形象一点,B更长,所以同时开始便利的时候,headB落后headA一个身位,而headB遍历完B,跳到A之后,又可以追上headA,追上时,即为相交点。两个链表从开头走到相交结点的步数不一样,所以对不齐,没法同时遍历。同样的,遍历B,到c3后,跳到a1,再到达c1,也是8步!如果遍历A,到c3后,跳到b1,再到达c1,是8步。

2024-03-02 15:38:41 382

原创 leetcode 19.删除链表的倒数第N个结点 双指针一次遍历

两次扫描的方法很好想,第一次数有多少个,第二次定位到要删除的位置。初始化fast比slow快n-1个位置,两者都不断next。当fast到达末尾,slow的位置恰好就是倒数第n个。再维护一下slow的前一个,用于拼接。

2024-03-02 14:45:27 322

原创 leetcode 25.K个一组翻转链表 链表的局部原地翻转模板

1.假设k=3,数三个1,2,3。本次翻转的起始是1,记作oriSt,结束是3记作oriEd。3.1,2,3进行翻转,这个是基本功,不用考虑翻转之后的头被哪个指向、尾指向哪个。首先,链表题,都创建一个虚拟hair结点指向head,后面用不着可以删。2.翻转之前,记录起始位置的前一个pre,以及结束位置的下一个nxt。这题如果一边翻转,一边数k个,比较麻烦。

2024-03-02 14:31:43 364

原创 leetcode 624.数组列表中的最大距离

题目要求两个元素不能来自于同一个数组,所以考虑记录次小和次大,即便最小和最大是来自同一个的,根据次优值算就行了。2.fromSame已经为true,且当前遍历的数组,既没有更小的,也没有更大的,fromSame依然为true。若是来自同一个数组,结果就是max(|min1, max2|, |min2, max1|)首先将第一个数组的最小,最大分别入队,fromSame设置为true。实际上,可以遍历每个新数组时,更新最大,最小,抛开次大、次小。直接开4个变量记录最大,最小,次大,次小,其余不变。

2024-03-01 15:03:13 325

原创 leetcode 华为秋招冲刺 题单 24.3.1

2024-02-29 23:36:05 456

原创 leetcode 5.最长回文子串

从长度为3开始,取决于[i+1, j-1],即长度-2的子串,而长度-2的子串在之前一定已经处理过了。非寻常的[i, j]取决于[i-1, j]或者[i, j-1]这种符合数组下标顺序的。长度为2的也先考虑下,两个连续字符是否相同。仔细观察,取决于的子串,长度一定更短!起始、结束,用二维dp记录更方便。起始位置i,结束位置j的回文串,先把长度为1的全部设置是回文。,这个应该是能想到的。

2024-02-29 23:29:01 344

原创 SpringDataRedis基础操作

/

2024-02-22 23:56:07 377

原创 异或运算的性质

3.异或运算满足交换律和结合律。1.任何数与0异或等于本身。2.两个相同的数异或等于0。

2024-02-20 17:15:52 426

原创 leetcode190: 位运算&1实现保留最低位,|, &组合实现最低位的复制

将当前n的最低位添加到rev的最低位: rev | (n&1),即添加来的最低位就是n的最低位,rev其他位不受影响(|0不改变)rev左移1位,相当于*2,右边空出来的那位(最低位)等待后续填充。颠倒给定的 32 位无符号整数的二进制位。n逻辑右移1,即丢掉最低位。取n的最低位: n&1。

2024-02-20 16:58:21 334

原创 原码、反码、补码,为毛要有这些东西??

1.计算机存储和计算都是用的补码2.一切以补码为准!计算机是认补码的为什么要讲原码和反码呢,仅仅是为了方便引出补码。

2024-02-19 14:54:57 917

原创 AOP实现公共字段填充,例如:新增/修改信息时,记录修改时间和修改人id

/自定义注解,用于标识方法需要进行公共字段填充//只需要考虑update和insertOperationType是一个自定义的枚举,包括INSERT和UPDATE,方便区分。因为在本例中,insert操作需要更新:新增时间、新增人、修改时间、修改人 四个字段;update操作需要更新:修改时间、修改人 两个字段/*** 更新操作* 插入操作这两行注解记着就行,程式化的//自定义切面,实现公共字段的自动填充@Aspect@Component@Slf4j。

2024-02-16 20:32:14 399

原创 二分查找两个模板,leetcode35.搜索插入位置

刚刚已经强调了,模板2处理的是找第一个满足xx条件的元素。怎么找最后一个满足的呢?很简单,问题转化成:找第一个不满足xx条件的元素位置,找到的位置-1。

2024-02-15 22:54:12 893

原创 Springboot中LocalDateTime对象返回给前端,格式化

显然是个工具类,位于sky-common模块的json.JacksonObjectMapper/*** 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象* 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象]* 从Java对象生成JSON的过程称为 [序列化Java对象到JSON]super();

2024-02-11 18:56:13 2168 1

原创 分页查询插件PageHelp的使用模板,以及底层实现的简单了解

分页查询在业务中很普遍,前端给的参数通常有两个:当前页数page(从1开始,即第几页);每页大小pageSize基于sql实现,需要自己写表示查询从index为offset的记录开始,的往后nums条记录,注意offset是从0开始的。offsetpage−1×pageSizenumspageSize当然可以自己做如上转化,但麻烦,有没有更快捷的方式呢?

2024-02-11 14:39:28 1104

原创 ThreadLocal实现内容传递

新增/修改员工时,要录入操作人的id,怎么获取操作人的id呢?

2024-02-11 11:38:32 387

原创 vscode使用插件remote-ssh远程连接服务器,并配置免密登录

基本情况vscode的remote-ssh插件挺好用的,就是当换新机器时,总是忘了怎么配置,干脆开一贴好好记录下本地机器:Windows10云服务器:腾讯云服务器,ubuntu18配置服务器ssh1.放通端口,一般ssh默认是222.创建root账户sudo passwd root#passwd: password updated successfully设定root密码,输入两次后,出现这个代表ok3.允许root登录和使用密码登录sudo vi /etc/ssh/sshd_con

2022-04-25 20:59:56 4921

空空如也

空空如也

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

TA关注的人

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