AI算法 每日算法 — 使用java实现最长递增子序列:动态规划与 patience sorting 二分优化 问题描述 给定一个整数数组 nums,找到其中最长的严格递增子序列的长度。子序列不要求连续,但要求相对顺序不变。 示例:nums = [10, 9, 2, 5, 3, 7, 101, 18],最长递增子序列为...
AI算法 每日算法 — 使用java实现旅行商问题:状态压缩动态规划与贪心近似算法 问题描述 旅行商问题(Traveling Salesman Problem, TSP):给定 n 个城市以及城市之间的距离,求从某个城市出发,经过每个城市恰好一次,最终回到起点的最短路径长度。 TSP...
AI算法 每日算法 — 使用java实现最小覆盖子串:滑动窗口与字符频次映射 问题描述 给定两个字符串 s 和 t,返回 s 中涵盖 t 所有字符的最小子串。如果不存在符合条件的子串,返回空字符串。 示例:s = "ADOBECODEBANC", t = "ABC",最小覆盖子串为...
AI算法 每日算法 — 使用java实现斯特林数:集合划分与排列组合计数 引言 在组合数学中,如何将n个不同的元素划分成k个非空子集?又如何计算n个元素的k阶排列(即恰好使用k个循环的排列)数目?这些问题的答案由斯特林数(Stirling...
AI算法 每日算法 — 使用java实现矩阵树定理:图生成树计数与基尔霍夫定理 引言 对于一个连通无向图,它包含多少棵不同的生成树?这是图论中最经典的问题之一。Cayley公式告诉我们,完全图K_n恰好有 n^(n-2)...