- 博客(7)
- 收藏
- 关注
原创 Java项目打包成镜像部署在docker中
本文介绍了如何将Java项目部署到Docker容器中。作者分享了使用Docker部署Java应用的完整流程,包括编写Dockerfile、构建镜像、配置docker-compose.yml等步骤。
2025-07-29 23:47:26
528
原创 搭建RustDesk的服务器实现私人远程连接
本文介绍了搭建RustDesk私有远程连接服务器的完整流程。通过自建服务器,用户可以完全掌控数据流向,避免隐私泄露。安装过程包括:1)在服务器端开放指定TCP/UDP端口,使用Docker部署hbbs信令服务器和hbbr中继服务器;2)在客户端配置服务器地址和密钥;3)实现跨设备连接。作者使用腾讯云6M带宽服务器实测资源占用低,建议关注云服务商促销活动获取高性价比服务器。相比向日葵等商业方案,RustDesk私有部署具有更高的安全性和灵活性。
2025-07-20 03:11:23
1264
原创 N皇后问题解答(LeetCodeP52 & P51)
本文回顾了N皇后问题的解决方案,包括两种LeetCode题目变体:仅统计解法数量(P52)和输出具体棋盘方案(P51)。通过逐行放置皇后并检查冲突(同一列或对角线),使用回溯法递归求解。核心在于验证位置合法性,通过坐标差绝对值判断对角线冲突。文章提供了Java实现代码,并建议先解决P52再处理P51,最后提到可使用位运算优化常数级别性能,但时间复杂度仍为O(n!)。
2025-05-25 22:35:08
671
原创 【LeetCode】P297二叉树的序列化和反序列化
最近刷题学习都是二叉树的专题,那么二叉树相对于链表来说,不再是单个的串联起来,而是有了分叉的概念,这也因此带来了长度上的缩减,可以看成是原来链表查找的复杂度对数级别的降低(因为遍历的层数下降了), 既然要开始复习二叉树,那么就先把基本的前中后序过一遍(不要小看这个前中后序,个人刷题感觉这个对于解决二叉树问题还是很重要的),包括递归和非递归的形式。这里的代码并不算难,理解了基本的概念之后就可以自己动手敲代码了,尽量练习到可以熟练敲出来的地步,当然不是单纯背代码,而是知道怎么实现的原理。
2025-05-24 14:55:53
2084
原创 【LeetCode】P141.环形链表 && P142.环形链表 II
本文主要讨论了链表结构的特点及其与数组的差异,重点分析了环形链表的检测方法。文章介绍了两种方法:使用Set记录遍历节点和使用快慢指针。Set方法通过判断节点是否重复来检测环,而快慢指针则通过指针相遇来判断环的存在。
2025-05-16 16:29:38
653
原创 【LeetCode】138. 随机链表的复制
本文介绍了如何实现带有随机指针的链表的深拷贝。普通链表的复制相对简单,但随机指针的引入增加了复杂性,因为随机节点可能尚未创建。为了解决这个问题,提出了两种方法:第一种使用哈希表(HashMap)来存储原节点和复制节点的映射关系,分两步完成复制和随机指针的赋值;第二种方法通过原地操作,将复制节点插入原链表中,避免了额外的空间开销,最后再分离链表。两种方法的时间复杂度均为O(n),但第二种方法的空间复杂度为O(1)。
2025-05-16 02:38:16
2025
原创 Leetcode 160. 相交链表
题目要求找出两个单链表的相交节点,若不存在则返回null。通过双指针法,可以高效解决该问题。具体思路是:两个指针分别从链表A和链表B的头节点开始遍历,当其中一个指针到达链表末尾时,将其指向另一个链表的头节点继续遍历。如果两个链表相交,两个指针最终会在相交节点相遇;如果不相交,两个指针会同时到达链表末尾(null)。该方法时间复杂度为O(m+n),空间复杂度为O(1)。需要注意的是,链表中值相同的节点并不一定是同一个节点,判断相交节点时应比较节点本身而非节点的值。
2025-05-14 04:10:10
1645
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅