本仓库包含多个独立的 Java 项目和工具模块,主要用于算法练习、数据结构实现、PPT 处理、加密通信、DNS 查询等场景。
.
├── algorithm_test_project/ # 主要算法测试项目
├── bc_large_dc/ # 大数据/分布式计算相关
├── dns/ # DNS 查询工具
├── pptx_generate_remarks/ # PPT 备注生成器
├── pptx_to_video_voice/ # PPT 转视频/语音
├── secret_chat/ # 加密聊天演示
├── struct_md2pptx/ # Markdown 转 PPTX
└── windows/ # Windows 测试脚本
综合性 Java 算法项目,包含数百道 LeetCode 风格题解、常见数据结构实现及单元测试。
项目结构遵循 Maven/Gradle 约定(src/main/java),使用 IntelliJ IDEA 开发。
arr– 数组基本操作arraytomap– 数组转 MapcommonChars– 查找多个字符串的公共字符lengthOfLongestSubstring– 最长无重复子串longestPalindrome– 最长回文子串reverseWords– 反转字符串中的单词validPalindrome– 验证回文串mergeAlternately– 交替合并字符串gcdOfStrings– 字符串的最大公因子removeOuterParentheses– 删除最外层括号
addTwoNumbers– 两数相加(链表)mergeTwoLists– 合并两个有序链表reverseList– 反转链表reverseBetween– 反转链表 IIreverseKGroup– K 个一组反转链表swapPairs– 两两交换链表节点deleteDuplicates– 删除排序链表重复元素deleteMiddle– 删除链表的中间节点detectCycle– 检测环形链表getIntersectionNode– 两个链表的交点copyRandomList– 复制带随机指针的链表LRUCache/lru– LRU 缓存实现oddEvenList– 奇偶链表reorderList– 重排链表
buildTree– 根据遍历结果构建二叉树isSymmetric– 对称二叉树isValidBST– 验证二叉搜索树maxDepth– 二叉树的最大深度levelOrder– 二叉树的层序遍历lowestCommonAncestor– 最近公共祖先mirrorTree– 二叉树的镜像pruneTree– 修剪二叉树rightSideView– 二叉树的右视图treeToDoublyList– 二叉树转双向链表widthOfBinaryTree– 二叉树最大宽度goodNodes– 好节点计数
climbStairs(未显式列出,但有minCostClimbingStairs)– 最小代价爬楼梯maxProfit– 买卖股票的最佳时机rob– 打家劫舍longestCommonSubsequence– 最长公共子序列longestConsecutive– 最长连续序列lenLongestFibSubseq– 最长斐波那契子序列numTilings– 多米诺骨牌铺砖tribonacci– 泰波那契数translateNum– 数字翻译成字符串dicesProbability– 掷骰子的概率
combinations/combine– 组合生成permute– 全排列subsets– 子集combinationSum2– 组合总和 IIn– N 皇后问题
eraseOverlapIntervals– 移除重叠区间findMinArrowShots– 引爆气球的最少箭数partitionLabels– 划分字母区间leastInterval– 任务调度器maxJump– 最大跳跃
countBits– 二进制中 1 的个数singleNumber/singleNumbers– 只出现一次的数字myPow– 快速幂reversePairs– 翻转对maximumSwap– 最大交换nthUglyNumber– 第 N 个丑数
dailyTemperatures– 每日温度validateStackSequences– 验证栈序列removeStars– 移除星号
canVisitAllRooms– 能否访问所有房间findSmallestSetOfVertices– 找到最小顶点集合(有向图)orangesRotting– 腐烂的橘子(BFS)nearestExit– 迷宫最近出口updateMatrix– 01 矩阵中的最近距离
fastjson/json– JSON 处理示例guaua– Google Guava 测试thread/threadLocalDemo– 多线程与 ThreadLocalVolatileTest– volatile 关键字测试regex– 正则表达式测试readfile/read– 文件读取与配置读取uuid/url– UUID 生成与 URL 测试puml– PlantUML 图表生成memory– 内存转储分析
注:由于原始目录树编码问题,部分包名以英文单词为准,上述列表已覆盖主要功能。
大数据/分布式计算相关模块(Big Data / Large Scale Distributed Computing)。
可能包含数据一致性验证、大文件处理或分布式任务调度示例。
目录结构:
bc_large_dc/
├── .idea/ # IDEA 配置
└── src/ # 源代码(未详细展开)
DNS 查询工具。
实现域名解析、DNS 记录查询(A/AAAA/MX/TXT 等)或简单的 DNS 代理功能。
(目录下未提供具体文件,需根据源码确认)
PPT 备注生成器。
用于自动向 PowerPoint 文件添加演讲者备注,可能基于模板或文本文件批量处理。
PPT 转视频/语音工具。
将演示文稿转换为视频文件,或结合 TTS 生成配音讲解。
典型用途:自动化制作教学视频。
加密聊天演示。
实现端到端加密的即时通讯示例,可能包含对称/非对称加密、密钥交换等功能。
Markdown 转 PPTX 转换器。
将 Markdown 格式的文档(支持标题、列表、代码块)生成为 PowerPoint 文件。
适用于快速生成技术分享或报告幻灯片。
Windows 测试脚本。
包含批处理或 PowerShell 脚本,例如 Test-RemoteMaxSessions 用于测试远程桌面最大会话数。
- JDK:1.8 或更高版本
- 构建工具:Maven / Gradle(部分模块可能需要)
- IDE:推荐 IntelliJ IDEA
- 其他依赖:
pptx_to_video_voice可能依赖 FFmpegsecret_chat可能依赖 Bouncy Castle 等加密库
- 克隆仓库
git clone https://github.com/your-username/your-repo.git
- 根据需要进入具体模块目录
- 使用 IDE 打开或直接运行
main方法 - 各模块独立,可单独编译运行
- 部分模块为实验性或演示代码,生产环境使用请谨慎评估。
- 原始目录树中存在编码乱码,实际文件名以英文为准。
- 算法模块大多包含单元测试,可参考
src/test/java(若有)验证正确性。
欢迎提交 Issue 或 Pull Request 来完善算法题解或工具功能。
此 README 已涵盖您提出的三点要求。如需进一步调整或补充具体文件列表,请提供更详细的目录内容。