- 博客(22)
- 收藏
- 关注
原创 每日一题Day09-划分字母区间
本文包含两部分内容:1)字符串分割算法题解,通过记录字符最后出现位置来划分区间;2)面试问题总结,涉及Spring生命周期、Redis缓存问题、SpringBoot特性等。算法部分给出了Java实现代码,面试部分列举了6个常见问题,包括Bean生命周期、缓存问题和系统设计等。
2025-12-13 21:07:14
111
原创 每日一题Day08-数组的第K大元素
文章摘要:本文讨论了寻找数组中第K大元素的解法。作者首先尝试了直接排序的简单方法,但意识到这可能不够高效。随后通过研究题解,比较了不同解法,最终实现了自己的优化方案。文章展示了从简单思路到深入思考的解题过程,体现了算法学习的实践方法。
2025-12-12 15:14:52
209
原创 每日一题Day07-Leetcode33搜索旋转数组
摘要:本文讨论了在旋转有序数组中查找目标值的两种方法。第一种暴力解法直接遍历数组,时间复杂度O(n)。第二种采用二分查找法,通过判断左右半区是否有序来缩小搜索范围,时间复杂度O(logn)。重点分析了如何通过比较中间值与边界值来确定目标值所在区间,并给出了相应的二分查找实现代码。该方法充分利用了旋转数组的特性,比暴力解法更高效。
2025-12-08 16:13:54
111
原创 每日一题Day06-Leetcode复原IP地址
本文提供了一个恢复IP地址的递归解法。代码使用回溯算法,通过分割字符串为4段,每段需满足0-255且不以0开头(除非是0本身)。主要思路是:定义数组存储IP段,当满足4段且遍历完字符串时保存结果;遇到0开头直接处理为0段;否则递归尝试所有可能的数字组合。文末反思了学习态度,指出优秀者的成就来自持续专注的努力,鼓励坚持自我提升,不受他人负面评价影响,认清差距并持续精进。
2025-12-07 16:19:35
252
原创 算法刷题Day05-Leetcode22括号生成
摘要:本文介绍了生成有效括号组合的两种解法。暴力递归法通过遍历所有可能组合并验证有效性;回溯法则在构建过程中确保右括号不超过左括号。两种方法都能生成n对括号的所有合法排列,如n=3时输出5种组合。文章最后反思了算法练习的意义,探讨了面对质疑时的应对态度。解法示例展示了递归和回溯在组合问题中的应用。
2025-12-02 21:48:31
299
原创 算法刷题Day05-Leetcode79单词搜索
摘要:本文介绍了一个解决单词搜索问题的回溯算法。算法通过遍历字符矩阵中的每个字符,检查是否匹配目标单词的当前字符,然后递归检查上下左右四个方向的相邻字符。使用visited数组标记已访问位置,并在回溯时重置状态。当完整匹配单词时返回true,否则继续搜索。作者提到这是其完成的第100道算法题,表示将继续努力攻克更多题目。
2025-12-02 10:31:57
110
原创 算法刷题Day04-Leetcode131分割回文串
摘要:本文介绍了一种分割回文串的回溯算法解法。通过定义startIndex作为分割起点,当超过字符串长度时将当前路径加入结果。核心方法isPanlindrome判断子串是否为回文,backtarcking函数递归处理所有可能分割。算法时间复杂度为O(n*2^n),空间复杂度O(n)。代码实现了将字符串分割为所有可能的回文子串组合,适用于字符串处理场景。
2025-12-01 23:32:47
144
1
原创 算法刷题Day03-LeetCode17电话号码组合
本文解决电话号码字母组合问题,给定数字字符串(2-9),返回所有可能的字母组合。采用回溯算法,通过递归遍历每个数字对应的字母,组合生成结果。使用HashMap存储数字到字母的映射,时间复杂度为O(3^m*4^n),其中m和n分别对应3字母和4字母的数字个数。空间复杂度为O(m+n),主要取决于递归深度。示例展示了"23"对应9种组合的情况。代码实现了回溯过程,通过字符串拼接和回溯完成所有组合的生成。
2025-11-30 19:09:00
394
原创 算法Day02-LeetCode组合III,回溯入门
该问题要求找出所有k个不同数字的组合,这些数字来自1到9且不重复使用,其和等于给定的n。使用回溯算法进行求解,通过剪枝优化效率。
2025-11-29 22:48:08
199
原创 Java面试准备Day01算法全排列
本文介绍了使用回溯算法解决不重复数字数组的全排列问题。通过深度优先遍历实现,在递归过程中维护已使用数字的状态,并在回溯时重置状态。
2025-11-26 22:31:57
309
原创 端口占用问题(解决Linux)
摘要:释放Linux系统3306端口的步骤:1)使用ss -tuln或netstat查找占用进程PID;2)通过kill [PID]或kill -9 [PID]终止进程,MySQL服务可用systemctl stop mysql/mysqld;3)再次检查端口状态确认是否释放。注意强制终止可能导致数据丢失。
2025-10-12 23:15:17
146
原创 Ubuntu24.04安装yum方法(简单容易操作)
文章摘要:介绍了在Ubuntu系统中安装build-essential和yum的步骤,以及遇到报错时的解决方法。重点说明通过更换清华大学开源镜像源来解决问题,详细给出了修改镜像源文件ubuntu.sources的操作流程,包括清空内容、插入新镜像源地址以及保存退出的vim命令操作。
2025-10-05 15:31:47
287
原创 Spring详解(学习笔记)
这篇Spring学习笔记主要介绍了Spring框架中的依赖注入方式(构造器注入、属性注入)、自动装配(按类型/名称)以及基于注解的开发配置。内容包含XML配置示例(bean定义、p/c命名空间)、懒加载设置、生命周期注解(@PostConstruct/@PreDestroy)的使用,以及@Configuration、@ComponentScan、@PropertySource等核心注解的详细说明。笔记还涉及@Autowired自动装配、@Import导入配置类等进阶用法,并提供了properties文件加载
2025-08-15 15:01:00
1064
转载 Redis入门
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。Redis中文网key-value结构存储:基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value类型比较丰富,也被称为结构化的NoSql数据库。NoSql(Not Only SQL),不仅仅是SQL,泛指。
2025-08-08 10:48:58
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅