- 博客(49)
- 收藏
- 关注
原创 力扣-比较版本号
可通过 Integer.parseInt() 方法将字符串快速转化为整数,例如 “001”可通过该方法变成整数1,具体代码如下。例如当版本号分别为 “1.001” 和 “1.01.1” 时,每次循环比较的结果为。可以先将两个版本号用 “.” 分割,然后将得到的字符串转化为整数再逐个比较即可。时间复杂度:O(max(n,m))空间复杂度:O(n+m)O。
2024-04-29 16:45:03 117
原创 力扣-分隔链表
定义两个新的空链表,一个保存小于 x 的节点,另一个保存大于等于 x 的节点。时间复杂度:O(n),其中 n 是原链表的长度。需要遍历原链表一次。空间复杂度:O(1)。只需要创建了常数个额外节点。本来想直接在链表上进行修改,但是发现太乱。
2024-04-19 11:07:36 178
原创 力扣-删除排序链表中的重复元素II
因为题目中链表是已排序的且重复的节点是挨着的,因此通过一次遍历就可解决改题。同时注意到重复节点可能出现在表头,因此可以在表头新加一个虚拟节点(这是一个处理链表问题时较常用的方法)。平均情况下,节点值不相同的情况更多,但即使如此,也需要遍历整个链表来确保删除所有重复节点。最坏情况下,链表中所有节点都相同,此时需要遍历整个链表一次来删除所有重复节点。这段代码使用了常数个额外的变量(dummy、cur、val),与链表长度无关。因此,时间复杂度为O(n),其中n是链表的长度。因此,空间复杂度为O(1)。
2024-04-12 20:21:59 261
原创 力扣-单词搜索
例如 board = board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCB”这道题是一个很经典的回溯问题,对于一个二维数组,从第一个字符开始进行深度优先遍历,即从上下左右四个方向进行查找是否存在字符串 word。因为在进行深度优先遍历时是从 上下左右 四个方向进行的,对于已经访问过的地方是不需要重复访问的,否则会出错。与 **board[i][j] = word[index];是为了避免重复访问。
2024-04-09 11:21:57 332
原创 力扣-搜索二维矩阵
这道题和在一维数组中查找目标值很像,不过这里的数组变成了二维数组。在解这道题之前先讲一下怎么在升序一维数组里面用二分查找法找不大于某个目标值(target)的最大索引。例如在数组nums = {1, 3, 5, 7, 9}里面要查找目标值 target = 6,应返回的索引为 2。
2024-04-07 10:24:05 465
原创 力扣-简化路径
空间复杂度:O(n),其中 n 是字符串的长度。空间复杂度主要取决于字符串的分割和栈的使用。分割字符串需要 O(n) 的空间,栈的最大空间大小为 O(n)。因此空间复杂度为 O(n)。时间复杂度:O(n),其中 n 是字符串的长度。需要遍历字符串的每个字符,对于每个字符,入栈和出栈操作的时间复杂度为 O(1),因此总的时间复杂度为 O(n)。这个题和逆波兰表达式求值很想,都是通过使用栈来实现。这里列出 java 代码。
2024-04-05 23:17:50 329
原创 Mybatis 之 useGeneratedKeys
数据库中主键基本都设置为自增,当我们要插入一条数据想要获取这条数据的 Id 时,就可使用 Mybatis 中的 useGeneratedKeys 属性。
2024-04-02 20:53:57 338
原创 Aspect使用
AOP为Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术// 数据库操作,INSERT or UPDATE/*** 更新操作* 插入操作写完自定义注解后,需要再写切面类@Aspect@Component@Slf4j/*** @Description ToDo 定义切点,指定需要拦截的方法*/
2024-04-01 22:40:20 942
原创 Bean 生命周期 和 SpringMVC 执行过程
这里简单记录下 Bean 生命周期的过程,方便自己日后面试用。源码部分还没看懂,这里先贴上结论。
2023-12-23 13:07:24 478
原创 springboot 启动原理
这里简单总结下 SpringBoot 项目的启动流程。main() 方法中的 SpringApplication.run() 为整个 springboot 程序的主入口,即图一所示。进入图一中的 run() 方法后可以看到程序会执行两个方法 SpringApplication() 和 run() 方法。我们首先看一下 SpringApplication() 方法的执行流程在创建SpringApplication对象的时候,在它的构造方法内部主要做3个事情。其次是 run() 方法,这里贴一下 ru
2023-12-21 19:51:21 405
原创 JDK切换版本失败
解决方案: 删掉环境变量中的 C:\Program Files\Common Files\Oracle\Java\javapath,就可以了。今天想要切换 jdk 版本,但是发现不论怎么该环境变量都修改不了,
2023-12-18 14:14:35 367
原创 el-button 显示与隐藏
今天在学习 vue 的过程中用到了 el-button, 这里简单记录下怎么实现 el-button 的显示与隐藏。
2023-12-15 22:36:27 1122
原创 Request method ‘DELETE‘ is not supported
如果只是 ID 这种单个或者多个数字字母,使用 @PathVariable 是非常好的选择,但是如果是获取多个参数,而且是不同类型的,那么最好使用 @PathParam。
2023-12-13 12:06:51 163
原创 Vue 路由使用
Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,实际上就是组件的切换。路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是我们WebApp的链接路径管理系统。
2023-12-10 10:50:01 33
原创 YOLOv8 修改 IoU(CIOU, DIOU, SIOU, EIOU, Focal_EIOU)
这里简单介绍下怎么修改 YOLOV8 中的 IOU, 首先找到 ultralytics/yolo/utils/metrics.py 文件中的 bbox_iou() 方法。可以看到官方还给我们提供了 DIOU 和 GIOU 的代码,例如当需要更改为 DIOU 时,只需要找到 ultralytics/yolo/utils/loss.py 文件 和 ultralytics/yolo/utils/tal.py 文件,找到调用 bbox_iou() 方法的地方进行修改即可。
2023-12-09 22:38:47 1092
原创 Vue 表单验证
今天在学习 Vue 的过程中用到了表单验证功能,这里简单记录下实现过程。前端页面登录界面如下所示,要实现的效果为鼠标离开文本框时,文本框自动校验是否满足用户名和密码的校验规则,这里要求的规则是长度为 5~16 非空字符串,如果需要其他规则可按需定义。自定义校验规则要实现校验,首先需要定义校验规则,其中 rules 为表单校验规则,其中的 username, password, rePassword 为需要校验的字段。因为这些字段是需要发送给后端的,所以为方便起见,建议和后端传参是的变量名一致。c
2023-12-07 11:21:21 142
原创 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.exa
今天在使用 axios 的时候发现后端传入的数组无法前端无法接受,但是后端传入的字符串前端可以正常接受。实体类代码如下Controller 层代码如下comexampleaxiosdemopojo前端代码如下当访问 http://localhost:8080/article/hello 时,result 可以正常接收到 “hello” 字符串,但是当访问http://localhost:8080/article/getAll 是,后端就会报如下错误:前端报错。
2023-12-03 18:26:36 116 1
原创 org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello],
今天在学习 SpringBoot 过程中碰到了这个错误。
2023-12-03 16:34:23 53 1
原创 阿里云 OSS 使用
今天在学习 SpringBoot 的时候用到了阿里 OSS,这里简单记录下使用 OSS 的过程。OSS 是什么oss是对象存储服务(Object Storage Service)的缩写,是一种分布式存储服务,用于存储和访问大规模数据。它提供了可靠、安全、低成本的数据存储解决方案,可以通过网络随时随地访问存储的数据。oss常用于存储图片、视频、文档等非结构化数据。使用使用前需要先创建阿里OSS账号,这里就不赘述了。导入依赖首先根据自己的项目情况导入依赖,具体需要导入哪些依赖请见https://h
2023-11-30 11:46:01 36 1
原创 Required request parameter ‘***‘ for method parameter type String is not present
今天在学习 SpringBoot 的过程中遇到了这个问题。
2023-11-27 12:24:03 2467 1
原创 SpringBoot 拦截器(Interceptor)使用简记
在使用前需要先自定义一个类并且实现 HandlerInterceptor 接口,并在类上加入 @Component 注解交由 SpringBoot 框架管理,代码如下try {// 拦截通过,放行 Map < String , Object > claims = JwtUtil . parseToken(token);// 没通过,不放行 response . setStatus(401);} } }try {
2023-11-26 18:50:29 109 1
原创 SpringBoot Validation依赖使用
在开发过程中经常会用到参数校验的过程,例如在用户注册过程中需要校验用户注册的信息是否合法,如果用 if else语句来判断的话,当判断条件很多时会很麻烦, 而 Validation 依赖就可以很好的解决这个问题。
2023-11-25 22:50:09 348
原创 Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String
如图,今天是运行SpringBoot项目的时候出现了如下错误,昨晚还能运行成功,今天导入 mybatis 依赖连接上数据库后再运行就出这个错了。
2023-11-25 19:13:32 3584 11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人