标签: Java
每日算法 — 使用java实现最长递增子序列:patience sorting与二分查找优化
最长递增子序列(Longest Increasing Subsequence, LIS)是算法面试中的高频题目:给定一个整数数组,找到其中最长的严格递增子序列的长度。经典的动态规划解法是...
每日算法 — 使用java实现最长公共子序列:动态规划与空间优化
最长公共子序列(Longest Common Subsequence, LCS)是文本比对、版本控制(Git...
每日算法 — 使用java实现Raft算法:分布式共识与领导者选举
概述 Raft是斯坦福大学的Diego Ongaro和John...
每日算法 — 使用java实现CDQ分治:离线三维偏序与降维打击
概述 CDQ分治是一种 powerful...
每日算法 — 使用java实现左偏树:可并堆与优先队列合并
引言 在算法竞赛和工程实践中,优先队列(堆)是一种极为常用的数据结构。然而,标准的二叉堆不支持高效的两个堆合并操作——合并两个二叉堆需要 O(n)...
每日算法 — 使用java实现回文自动机:回文子串高效计数
引言 回文子串的统计和处理是字符串算法中的经典问题。传统的暴力方法时间复杂度为 O(n²) 或更高,难以应对大规模数据。回文自动机(Palindromic Tree),又称 Eertree,是...