AI算法 每日算法 — 使用java实现后缀自动机:在线O(n)构建与不同子串计数 引言 后缀自动机(Suffix Automaton,简称 SAM)是处理字符串问题的强大数据结构。它能够在 O(n) 时间内在线构建,将字符串的所有子串信息压缩到一个仅有 O(n)...
AI算法 每日算法 — 使用java实现最长有效括号:单调栈与动态规划匹配优化 算法背景 给定一个只包含 '(' 和 ')' 的字符串,找出其中最长有效(匹配)括号子串的长度。例如 "(()" 的最长有效括号子串是 "()",长度为2;而 ")()())" 的最长有效括号子串是...
AI算法 每日算法 — 使用java实现回文自动机:回文子串高效计数 引言 回文子串的统计和处理是字符串算法中的经典问题。传统的暴力方法时间复杂度为 O(n²) 或更高,难以应对大规模数据。回文自动机(Palindromic Tree),又称 Eertree,是...
AI算法 每日算法 — 使用java实现Manacher算法:线性时间最长回文子串查找 引言 回文(Palindrome) 是字符串算法中的经典问题。给定字符串 "abacaba",它的最长回文子串是 "abacaba" 本身;而对于 "babad",最长回文子串是 "bab" 或 "aba"。...