软件工程
1002. Find Common Characters 寻找公共字符
解决LeetCode第1002题寻找公共字符问题,采用哈希表统计方法。通过维护26个小写字母的计数数组,遍历每个字符串更新字符频次,取各字符串中字符出现次数的最小值。时间复杂度O(N),空间复杂度O(1),高效处理多个字符串的公共字符查找,适用于字符串处理和算法优化场景。
2026年2月5日
1004. Max Consecutive Ones III
Max Consecutive Ones III问题通过滑动窗口算法解决,允许最多K次0到1的转换来获得最长连续1子数组。使用双指针技术维护窗口边界,当翻转次数超过K时调整左边界。时间复杂度O(n),空间复杂度O(1),是经典的动态窗口优化问题。
2026年2月5日
1014. Capacity To Ship Packages Within D Days 运输最小容量
解决运输包裹最小容量问题,在D天内运送完所有weight[i]重量的物资。通过二分搜索优化查找效率,确定传送带承重范围从单个最重物品到总重量和之间。当实际运送天数大于D时增大容量,小于D时减小容量,实现最优解快速定位。
2026年2月5日
1024. Video Stitching
视频拼接算法解决如何用最少片段数覆盖0到T时间区间的问题。提供动态规划和贪心两种解决方案:DP方法通过三维状态转移处理片段关系,时间复杂度O(N³);贪心算法通过排序后每次选择满足条件的最远终点,时间复杂度O(NlogN),空间复杂度更优。
2026年2月5日
1029. Two City Scheduling
Two City Scheduling问题涉及2N个人分配到A、B两城的最优策略。采用动态规划结合暴力搜索算法,通过二维DP模型处理多重有限选择场景。核心思路是每个人可分配至任一城市,通过记忆化搜索避免重复计算。约束条件为每城必须分配N人,最终在[2N][N]位置获取最小总花费。适用于组合优化和资源分配场景。
2026年2月5日
1078. Occurrences After Bigram
字符串处理算法解决Bigram后续词匹配问题。通过查找指定的两个连续单词模式,提取其后的所有第三个单词。采用滑动窗口方法实现O(N)时间复杂度,空间复杂度为O(k),其中k为匹配结果数量。适用于自然语言处理中的词序列分析和文本挖掘场景。
2026年2月5日
1081. Smallest Subsequence of Distinct Characters
解决字典序最小的无重复字符子序列问题,采用贪心算法和字符计数策略。通过维护字符出现次数和使用状态,确保每个字符仅出现一次,同时保证结果字典序最小。时间复杂度O(N),空间复杂度O(1),适用于字符串处理中的去重排序场景。
2026年2月5日
1233. Remove Sub-Folders from the Filesystem
解决文件系统子文件夹移除问题,采用排序优化算法实现O(nlogn)时间复杂度。通过字符串排序将父子目录关系转化为线性处理,利用前缀匹配识别并过滤子目录。该方法避免了构建树形结构的空间开销,仅需一次遍历即可完成目录层级简化,适用于大规模文件路径处理场景。
2026年2月5日
134. Gas Station 加油问题
解决加油站环路问题的贪心算法实现。给定每个站点的汽油存量和到达下一站所需油耗,寻找能够完成环路的起始站点。算法通过维护累计油量差值,当累计值为负时更新起始点。时间复杂度O(n),空间复杂度O(1)。核心思想是若总油量不足则无解,否则存在唯一可行起始点。
2026年2月5日
135. Candy 分糖果
Candy分糖果问题采用贪心算法解决,通过两次遍历确保相邻元素满足大小关系约束。第一次从左到右遍历处理右侧邻居关系,第二次从右到左遍历处理左侧邻居关系,使用最大值函数维护已有的右向限制。该算法时间复杂度O(n),空间复杂度O(n),有效解决了分糖果中的相邻比较问题。
2026年2月5日