博客
关于我
LeetCode – Refresh – 4sum
阅读量:791 次
发布时间:2023-01-31

本文共 540 字,大约阅读时间需要 1 分钟。

解决四Sum问题的经历

当我面对四Sum问题时,确实感到有些困惑。这道题加载于3Sum的基础上,多了层层套的循环。不过,我在这个过程中遇到了两个值得注意的地方。

第一个错误出现在处理j的条件上。我记得当时写代码的时候,无意中把j的条件设置为j > i+1。其实,这里完全不需要这么复杂的处理,因为j的取值范围最开始就是i+1开始的。这个错误导致了很多重复计算,后来我意识到这一点的时候,才意识到需要用更简洁的条件来重新优化循环。

第二个错误则出现在l的条件处理上。我在代码中犯了一个脑力运算的错误,错误地认为当处理l的时候,只需要简单地检查num[l]和num[l+1]是否相等。后来我才意识到自己那是在逆向思维,正确的方式是从数组的末尾开始,方才符合l递减的逻辑。这个错误导致了大量重复调用的情况。

通过这些实践,我逐渐发现了代码中的一些翻译上的问题。虽然风格上有些不够严谨,但从中也收获了不少宝贵的经验。现在的代码已经得到了很大程度的优化和改进,尤其是在处理i、j、k、l的循环条件上,更加清晰和简洁了。

整体来说,这次经历让我更加熟悉了如何在实际应用中处理多重排序问题,也体会到了代码结构优化的重要性。在今后的代码编写中,我将更加注重循环条件的准确性,以及逻辑结构的清晰性。

转载地址:http://ulgyk.baihongyu.com/

你可能感兴趣的文章
leetcode题解151-翻转字符串里的单词
查看>>
leetcode题解153-寻找旋转排序数组的最小值
查看>>
leetcode题解167-两数之和 II - 输入有序数组
查看>>
leetcode题解172-阶乘后的零
查看>>
leetcode题解173-二叉搜索树迭代器
查看>>
leetcode题解189-旋转数组
查看>>
leetcode题解191-位1的个数
查看>>
leetcode题解20-有效的括号
查看>>
leetcode题解200-岛屿数量
查看>>
leetcode题解206-反转链表
查看>>
leetcode题解227-基本计算器 II
查看>>
leetcode题解236-二叉树的最近公共祖先
查看>>
leetcode题解25-K个一组翻转链表
查看>>
leetcode题解279-完全平方数
查看>>
leetcode题解3-无重复字符的最长子串
查看>>
leetcode题解34-在排序数组中查找元素的第一个和最后一个位置
查看>>
leetcode题解347-前 K 个高频元素
查看>>
leetcode题解4-寻找两个正序数组的中位数
查看>>
leetcode题解41-缺失的第一个正数原来如此简单
查看>>
leetcode题解434-字符串中的单词数(双指针经典)
查看>>