- 博客(46)
- 收藏
- 关注
原创 Java实战:实时聊天应用开发(附GitHub链接)
项目介绍:项目涉及技术:时间获取方案之JDK8之前的Date API:时间获取方案之JDK8的LocalDateTime:字符串高效操作之StringBuilder:解决浮点型运算失真的BigDecimal:二、AI获取客户端界面:项目需求分析:项目为局域网类沟通软件开发,启动界面只需输入聊天昵称,进入后显示在线人数,具备群聊功能,实时更新在线人数,先实现核心群聊功能,后续可扩展私聊等功能。技术选型:涉及GUI编程技术(swing)、网络编程、面向对象设计以及Java提供的常用
2025-07-18 13:29:18
1151
原创 LeetCode刷题-top100(最小覆盖子串)
解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。输入:s = "ADOBECODEBANC", t = "ABC"代码:掌握临界值统计,对字符进行增减,分两步进行,判断最大区间。解释: t 中两个字符 'a' 均应包含在 s 的子串中,输入: s = "a", t = "aa"因此没有符合条件的子字符串,返回空字符串。输入:s = "a", t = "a"解释:整个字符串 s 是最小覆盖子串。所有字符的子串,则返回空字符串。所有字符的最小子串。
2025-07-06 18:00:18
228
原创 LeetCode刷题-top100(滑动窗口最大值)
的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。输入:nums = [1,3,-1,-3,5,3,6,7], k = 3。最优解:双端队列存储元素索引来实现存储最大值和是否在滑动窗口内。输入:nums = [1], k = 1。滑动窗口每次只向右移动一位。输出:[3,3,5,5,6,7]滑动窗口的位置 最大值。代码:循环遍历,超时。
2025-07-05 20:13:41
220
原创 LeetCode刷题-top100(和为 K 的子数组)
最优解:哈希表+前缀和(前缀和总和是连续的所以存在pre-k,就一定有对应的连续数组)输入:nums = [1,1,1], k = 2。输入:nums = [1,2,3], k = 3。代码:双指针+两次循环,没有超时,差点。子数组是数组中元素的连续非空序列。
2025-06-27 00:02:12
226
原创 LeetCode刷题-top100(找到字符串中所有字母异位词)
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。输入: s = "cbaebabacd", p = "abc"输入: s = "abab", p = "ab"最优解:滑动+数值记录比对。输出: [0,1,2]
2025-06-25 23:06:12
180
原创 LeetCode刷题-top100(无重复字符的最长子串)
代码:哈希表+滑动(保证出现重复元素在滑动窗口保证有一个,则可以保证最大长度)请注意,你的答案必须是 子串 的长度,"pwke"是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。解释: 因为无重复字符的最长子串是"abc",所以其长度为 3。解释: 因为无重复字符的最长子串是"b",所以其长度为 1。输入: s = "abcabcbb",请你找出其中不含有重复字符的。输入: s = "pwwkew"输入: s = "bbbbb"代码:集合+滑动窗口。
2025-06-24 23:23:02
163
原创 基于多表操作的员工管理系统开发
通过三层架构设计,将业务逻辑、数据访问和界面交互解耦,使系统结构清晰、易于维护。多表操作通过外键关联和连接查询实现,分页与条件查询通过PageHelper和动态SQL优化,最终实现高效、灵活的员工管理功能。开发过程中需注意代码规范、性能优化及全面测试,确保系统稳定可靠。:实现员工信息管理功能,包括多表关联查询、分页及条件筛选。:处理业务逻辑,调用DAO层,封装分页数据。:接收前端请求,调用服务层,返回响应结果。:定义数据库操作接口,编写SQL语句。
2025-06-24 18:48:53
731
原创 LeetCode刷题-top100(接雨水)
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。想清楚左右有一方大,另一方最小值减去高度得出,这是必然存在的结果。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [4,2,0,3,2,5]代码:遍历前缀和后缀数组,取最小值减高度得出。个非负整数表示每个宽度为。
2025-06-23 23:06:27
215
原创 部门管理系统后端开发流程
本模块通过前后端分离模式实现了部门管理的增删改查功能,重点掌握了Restful接口设计、MyBatis数据映射、日志管理及接口测试流程。后续可扩展员工管理、报表统计等功能,进一步完善Tlias系统。
2025-06-23 16:54:51
838
原创 LeetCode刷题-top100(三数之和)
总结前面的容器面积和本题,粗略得出双指针针对有序数值中的最大最小及固定值问题。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]注意,输出的顺序和三元组的顺序并不重要。解释:唯一可能的三元组和不为 0。输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。答案中不可以包含重复的三元组。代码:三层for循环,超时。输出:[[0,0,0]]
2025-06-22 23:12:55
259
原创 Java面向对象高级:内部类和简化
概念理解:函数式编程中的函数类似于数学函数,Java中的函数由Lambda表达式代表,可替代某些匿名内部类对象,使代码更简洁、可读性更好。替代条件:Lambda只能简化函数式接口的匿名内部类,函数式接口是指有且仅有一个抽象方法的接口,可通过添加注解声明。替换示例:以swim接口为例,其匿名内部类可通过Lambda表达式简化,通过上下文推断机制实现替代。
2025-06-22 12:13:26
676
原创 LeetCode刷题-top100(盛最多水的容器)
轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。
2025-06-21 23:42:01
102
原创 Java数据库开发入门之JDBC与MyBatis
1. 什么是JDBC?2. JDBC操作数据库的核心步骤(以查询为例)新手可记住“五步曲”:创建预编译语句(重点!):使用而不是普通的,因为它能防止SQL注入(黑客攻击的一种),并且性能更好。示例:设置参数:给占位符赋值,注意参数顺序和类型。执行查询并处理结果:用执行查询,返回(结果集)。用遍历结果,获取数据:关闭资源:用完后一定要关闭连接,避免内存泄漏!3. 新手必懂:什么是SQL注入?如何避免?由于永远为真,黑客会绕过登录验证!解决方案:必须使用预编译语句
2025-06-21 17:32:17
1294
原创 LeetCode刷题-top100(移动零)
移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。
2025-06-20 22:19:31
184
原创 Spring Boot Web 开发的核心基础
以上概念是Spring Boot Web开发的核心基础,理解这些知识点有助于掌握企业级应用的架构设计、请求处理流程和代码解耦原则。实际开发中需结合具体场景选择合适的注解和架构模式,以提高代码质量和开发效率。
2025-06-20 16:26:44
1250
原创 LeetCode刷题-top100(最长连续序列)
找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。最长数字连续序列是 [1, 2, 3, 4]。代码(最优解):将数组有序后逐个比对。请你设计并实现时间复杂度为。给定一个未排序的整数数组。
2025-06-19 23:32:10
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人