- 博客(56)
- 收藏
- 关注
原创 【随想录】Day36—第八章 贪心算法 part05
实际上这个与弓箭射气球所求的结果是相反的,弓箭射气球实际上求的是无重叠区间个数,因此本题目根据弓箭射气球的结果 使用 intervals 的长度减去 无重叠区间个数所得到的就是所求结果:即重叠区间个数。贪心思路类似于,最少的弓箭射气球的场景。类似于:弓箭引爆气球。
2024-04-28 16:05:03 801
原创 如何通过AOP实现一个具体的注解?
面向切面编程(AOP)是一种编程范式,它允许开发者将程序中影响多个类的功能分离出来,形成一个独立的模块,这种模块被称为切面(Aspect)。这使得开发者可以将关注点(如日志、事务管理、安全等)从业务逻辑中分离出来,提高代码的可重用性和可维护性。AOP 是 Spring 的核心思想之一,提供了一种代码增强的方式。Spring中的 AOP 是基于动态代理实现的,AOP 切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展往往用于实现日志处理权限控制、事务控制等。
2024-04-27 21:32:48 1127
原创 MySQL中什么情况下会出现索引失效?如何排查索引失效?
在MySQL中,索引是用来加快检索数据库记录的一种数据结构。索引失效指的是在进行查询操作时,本应该使用索引来提升查询效率的场景下,数据库没有利用索引,而是采用了全表扫描的方式,这会大大增加查询时间和系统负担。MySQL中什么情况下会出现索引失效?如何排查索引失效?回答。
2024-04-25 23:15:59 1424 1
原创 【随想录】Day29—第七章 回溯算法part05
与排列的去重方式类似,唯一不同的点是此时 数组中有重复出现的元素,要在排列的基础上 进行。数组对数组进行 排序 ,而本题目每个元素之间的递增顺序是不能通过排序来打乱的。本题区分于 子集II 的区别在于,子集II的去重是通过,
2024-04-23 16:35:54 492
原创 MySQL慢查询怎么办?需要关注Explain的哪些关键字?
定义:在MySQL中,慢查询是指执行时间超过预设阈值的SQL语句。这种查询的执行时间长,效率低下,通常需要优化。阈值:慢查询日志通过变量定义超时时间。任何查询执行时间超过这个值的,都会被记录到慢查询日志中。根据业务场景的不同,这个阈值的设定是不一样的,如果业务内部设置慢查询的阈值为 1s,则一条 SQL 语句在执行的过程中超过了 1 秒,则会被记录为慢查询。MySQL慢查询怎么办?需要关注Explain的哪些关键字?
2024-04-21 22:35:39 913
原创 【随想录】Day28—第七章 回溯算法part04
子集II 与 子集 的区别在于,数组中存在重复元素,涉及重复元素的去重逻辑。startIndex 作用在于,告诉下一层递归从哪里开始取数。获取子串 ——> 判断子串是否合法 ——> 收集结果。本题思路属于切割问题,
2024-04-21 15:28:01 562
原创 【随想录】Day27—第七章 回溯算法part03
本题区别于 组合总和 的点在于,此时要对重复的元素进行去重的逻辑。该回溯的方法实际上是对字符串进行分割,回溯的目标是找分割点。
2024-04-19 13:23:28 619
原创 【随想录】Day21—第六章 二叉树part07
中我们就使用了pre指针和cur指针的技巧,这次又用上了。中序遍历,将遍历结果收集到数组中。使用递归实现二叉搜索树中的众数。
2024-04-15 14:58:33 817
原创 【随想录】Day20—第六章 二叉树 part06
先中序遍历,将遍历结果转为数组,之后判断数组中的元素是否满足升序即可。每次找到数组中的最大值,来构造一个结点,之后递归构造左子树和右子树。
2024-04-14 22:47:43 393
原创 【随想录】Day18—第六章 二叉树 part05
此题目和路径总和类似,区别在于收集结果的方式不同。本题需要输出的是路径,则收集每次递归的路径即可,满足条件再收集到结果集中。同时本题存在回溯的逻辑。
2024-04-12 16:39:26 801
原创 【LeetCode】手撕系列—82. 删除排序链表中的重复元素 II
【代码】【LeetCode】手撕系列—82. 删除排序链表中的重复元素 II。
2024-04-10 20:08:05 213
原创 【随想录】Day14—第六章 二叉树part01
因为借助了栈实现迭代遍历,因此 前序的规则是 中、左、右,则入栈的顺序为 中、右、左。中序遍历,即 左、右。
2024-04-08 23:24:33 247
原创 【随想录】Day13—第五章 栈与队列part03
① 删除如果当前栈非空、被删元素值等于队列头元素,此时直接弹出②加入此时加入元素,如果值大于 队列头元素,此时将队列清空,再加入该值③返回队列头元素// poll,删if(!
2024-04-07 18:25:46 479
原创 【LeetCode】手撕系列—88. 合并两个有序数组_双指针
定义三个指针 p1、p2 以及 cur;其中 p1 用于遍历 nums1;p2用于遍历 nums2;cur 为判断当前存储的元素。定义一个 sorted 数组长度为 (m+1),存储合并后的数组。
2024-04-05 22:46:54 171
原创 【LeetCode】手撕系列—56. 合并区间_贪心
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。输入:intervals = [[1,4],[4,5]]输出:[[1,6],[8,10],[15,18]]输出:[[1,5]]
2024-04-04 20:16:02 459
原创 【随想录】Day9—第四章 字符串part02
反转字符串反转字符串II替换字符串中的数字反转字符串中的单词【5★】右旋转字符串【5★】数组链表N数之和。
2024-04-04 11:20:26 293
原创 【随想录】Day8—第四章 字符串part01
移除字符串前空格移除字符串后空格移除字符串中空格if (c!return sb;/*** 反转字符串指定区间[start, end]的字符*/start++;end--;:::info通过 start 和 end 指针来找一个单词1.数据结构:定义一个开始为 0 的指针:end 为start+1:判断是否遍历到sb的末尾2. 翻转字符串2.1 定位 end如果 end < n 且 sb.charAt(end)
2024-04-03 15:58:41 603
原创 深入理解ThreadLocal原理
ThreadLocal是Java中的一个工具类,它提供了线程局部变量,即这些变量对于使用它的每个线程来说都是独立的。每个线程都可以通过ThreadLocal存储、访问和更新自己的变量副本,而不会与其他线程的变量副本冲突。
2024-04-02 22:59:02 789
原创 【随想录】Day6—第三章 哈希表part01
注:填充哈希表和查找目标值是在同一个循环中完成的。这意味着,一旦找到满足条件的一对数,就会立即返回它们的索引,而不会有覆盖问题。这种方法即使在面对重复元素时也能正确工作,因为它在。
2024-04-01 13:40:36 925
原创 【LeetCode】hot100—121. 买卖股票的最佳时机_dp
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。如果你不能获取任何利润,返回 0。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]
2024-04-01 00:27:37 636
原创 【LeetCode】hot100—131. 分割回文串
分析上述回溯步骤后可以知道 回溯树的 数深由回溯控制,而树的宽由 for 循环控制。理解回溯树,每次在 一个 字符串中选取分割点 初始字符串为 str=“aabc”输出:[[“a”,“a”,“b”],[“aa”,“b”]]_分割成一些子串,使每个子串都是。返回 s 所有可能的分割方案。给你一个字符串 s,请你将_输入:s = “aab”输入:s = “a”输出:[[“a”]]
2024-03-29 11:01:51 920 1
Java毕业设计-JSP企业电子投票系统(完整源码)-管理系统毕业设计-毕设源代码
2024-04-25
Java毕业设计-码头船只出行及配套货柜码放管理系统(完整源码)-管理系统毕业设
2024-04-25
Java毕业设计-保险业务管理系统(完整源码)-管理系统毕业设计-毕设源代码
2024-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人