- 博客(323)
- 收藏
- 关注
原创 数组和小于等于k的最长子数组长度b
题目描述给定一个无序数组arr,其中元素可正、可负、可0。给定一个整数k,求arr所有的子数组中累加和小于或等于k的最长子数组长度。示例例如:arr = [3, -2, -4, 0, 6], k = -2,相加和小于等于-2的最长子数组为(3, -2, -4, 0),所以结果返回4。要求时间复杂度为O(n),空间复杂度为O(n)。输入描述第一行两个整数N, k,N表示数组长度,k的定义已在题目描述中给出。第二行N个整数表示数组内的数。
2025-10-12 21:13:30
298
原创 麻将胡牌算法(最简单胡牌方式)
这是一个麻将胡牌判断的Java实现,采用了经典的4*3+2牌型检测算法。代码定义了MahjongHuChecker类,包含三个主要方法:isHu()检查输入牌组是否符合胡牌条件;check()寻找将牌(对子);checkThree()递归检测剩余牌是否可组成顺子或刻子。示例展示了如何检测胡牌(4个顺子/刻子加1个对子)和非胡牌型。该实现支持万、筒、条和字牌,通过数组统计牌型数量进行判断。
2025-08-25 11:28:34
122
原创 三种 SSE 对比
这里有三种方式,分别是 STDIO,HTTP SSE,WebFlux SSE。SSE(Server-Sent Events),是服务端主动推送数据给客户端。
2025-08-08 17:05:50
311
原创 使用工厂模式和策略模式实现布隆过滤器
本文介绍了使用工厂模式和策略模式实现布隆过滤器的方法。主要流程包括:定义布隆过滤器接口,实现标准布隆过滤器和计数布隆过滤器两种具体类;定义哈希策略接口,实现简单哈希和Murmur哈希两种策略;最后通过工厂类创建不同类型的布隆过滤器。代码示例展示了接口定义、具体实现类以及工厂类的完整实现,其中计数布隆过滤器还支持元素移除和计数功能。这种设计模式组合提高了代码的灵活性和可扩展性,便于后续添加新的过滤器类型或哈希策略。
2025-07-06 16:21:58
431
原创 Gradle如何导入模块
在 Gradle 项目的根目录中,找到 build.gradle 文件(对于多模块项目,每个模块都有自己的 build.gradle 文件)。在 Gradle 项目中,导入依赖通常是通过在 build.gradle 文件中配置依赖项来实现的。在 build.gradle 文件中,找到 dependencies 块,并在其中添加所需的依赖项。:用于编译和运行时依赖,并且会暴露给其他模块(适用于库模块)。:用于编译和运行时依赖,不会暴露给其他模块。:仅用于运行时,不会包含在编译时。:用于测试代码的依赖。
2025-03-04 13:28:18
531
原创 IDEA如何将某个文件夹内的多个module合并到一个大的module内
IDEA如何将某个文件夹内的多个module合并到一个大的module内
2024-09-01 23:37:13
675
原创 Caused by: java.lang.NoSuchMethodError: ‘void com.baomidou.mybatisplus.core.metadata.OrderItem.setAs
Caused by: java.lang.NoSuchMethodError: 'void com.baomidou.mybatisplus.core.metadata.OrderItem.setAsc(boolean)'
2024-08-04 00:07:00
619
原创 JumpingKnowledge
Jumping Knowledge 机制通过合并不同层的节点表示,解决了图神经网络中的一些关键问题,提高了模型的表达能力和性能。其多种合并模式提供了灵活性
2024-07-31 15:02:35
515
原创 数据库对象中出现复杂的对象嵌套,如何使用Mybatis plus优雅的解决这个问题:
类原型:在User类:User类中嵌套了UserInfo类:在处理时,将UserInfo对象通过JacksonTypeHandler将Json转为String类型并保存在里数据库中。然而,当读取时,始终读取不到info信息:读取到的信息为:发现原因:由于对象里嵌套了复杂的对象,这里我们并没有实现ResultMap的映射,所以无法将String类型的Json字符串转为正确的对象。这里需要在User类中加入autoResultMap注解:如果不这么做,使用默认的传统的在xml文件中编写sql,
2024-07-22 23:51:22
1012
原创 Java的SpringBoot项目中为什么要注入接口XxxService而不是具体的实现类XxxServiceImpl
*解耦:**通过注入接口,实现了服务的调用者(这里是 ReportServiceImpl)和具体的实现细节(WorkspaceServiceImpl)之间的解耦。例如,如果有多个实现了 WorkspaceService 接口的类,并且根据不同的条件需要使用不同的实现类,那么通过注入接口,可以很容易地在运行时进行切换。**可测试性:**在进行单元测试时,可以方便地为接口创建一个模拟(mock)对象,从而更方便地对依赖该接口的类进行测试,而不需要依赖实际的实现类。在 Java 中,通常建议面向接口编程。
2024-07-11 10:14:31
591
原创 String nameList = StringUtils.join(goodsSalesDTOList.stream().map(GoodsSalesDTO::getName).co
【代码】String nameList = StringUtils.join(goodsSalesDTOList.stream().map(GoodsSalesDTO::getName).co。
2024-07-09 10:57:58
215
原创 ServiceImpl中的参数封装为Map到Mapper.java中查询
ServiceImpl中的参数封装为Map到Mapper.java中查询
2024-07-05 22:25:11
303
原创 Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest
今天遇到一个报错:Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your testSpringboot的源代码和测试代码要在同一个包下:
2024-06-16 20:55:46
804
原创 Query传递的参数需不需要加注解?加什么?为什么有的时候要加有的时候不加?
Query传递的参数需不需要加注解?加什么?为什么有的时候要加有的时候不加?
2024-06-11 22:47:39
325
原创 史诗级org.apache.ibatis.binding.BindingException:Invalid bound statement (not found)
史诗级org.apache.ibatis.binding.BindingException:Invalid bound statement (not found)
2024-05-13 22:09:30
436
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3