- 博客(4)
- 收藏
- 关注
原创 力扣283:移动零
摘要:本文介绍了两种移动数组零元素的方法。第一种使用TreeSet记录零元素索引,遍历数组时交换零元素与非零元素;第二种采用双指针法,快指针遍历数组,慢指针标记非零元素位置,遇到非零元素时进行交换。两种方法都能保持非零元素的相对顺序,将零元素移至数组末尾。双指针法更为高效,空间复杂度为O(1)。
2025-06-12 17:46:33
488
原创 力扣128:最长连续序列
穷举所有可能性:对每个可能起点都尝试计算整个连续序列重复计算:多次处理相同数据段高时间复杂度:通常有较高的多项式时间或指数时间复杂度未利用优化条件:没有跳过不必要的计算本题的核心在于:当前数字只有是连续片段的起点才需对其进行处理,判断是否为起点只需判断是否存在i-1。
2025-06-11 09:25:38
233
原创 力扣49:字母异位词分组
在暴力解法中有以下注意事项:1.排除已经处理过的字符串,防止重复记录(我和ds均采用新建数组/集合记录处理过的字符串)2.判断字母异位词:在我的方法中,采用判断字符串中每个字符都被另一个字符串包含且两字符串长度相等来判断是否为字母异位词,该方法存在严重漏洞,详见上。关于此,ds提供了两种方法方法1// 1. 长度不同则直接排除// 2. 将字符串转为字符数组// 3. 对字符数组进行排序// 4. 比较排序后的字符数组是否相同方法2// 1. 长度不同直接排除。
2025-06-09 20:49:40
710
原创 力扣1:两数之和
本文对比了三种解决"两数之和"问题的方法:1)暴力解法通过双重循环查找,时间复杂度O(n²);2)哈希表法先完整构建哈希表再查找,优化至O(n)但存在重复元素覆盖问题;3)改进的单次遍历哈希法,动态构建哈希表的同时查找补数,既避免了重复元素问题又优化到最优时间复杂度O(n)。第三种方法通过边遍历边检查边存储的策略,完美解决了前两种方法的缺陷,成为最佳实践方案。
2025-06-07 17:29:14
453
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅