news 2026/4/27 5:47:21

算法训练营第14天|18. 四数之和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法训练营第14天|18. 四数之和
  • 题目链接:

https://leetcode.cn/problems/4sum/

  • 视频链接:

https://www.bilibili.com/video/BV1DS4y147US

  • 我的代码:

https://leetcode.cn/problems/4sum/submissions/721320141


  • 看到题目的第一想法:

  1. 看到四数之和,第一时间联想到写过的三数之和,知道整体框架是:先排序+固定前两个数+后两个数用双指针查找。
  2. 对比昨天的四数相加,我发现到两道题完全不一样:
    (1)四数相加是四个独立数组、不用去掉重复、只统计个数;
    (2)这题是同一个数组内选四个元素、需要去掉重复、返回具体的组合,不能用哈希做,只能依靠排序+双指针。
  • 做题过程中遇到的困难:

  1. 边界不好把控,数组元素有负数,不能直接用普通大小判断剪枝;
  2. 去重细节麻烦:第一层、第二层固定元素要去重,左右指针移动时也要跳过重复值;
  3. 指针容易写错,left和right移动时机判断失误,导致漏解或重复解。

今日收获

  1. 区分了四数之和与四数相加II的核心区别:
    四数相加:多数组、不计顺序、无需去重;
    四数之和:单数组、组合去重、返回集合。
  2. 去重、指针移动顺序、负数场景剪枝都是易错点。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 5:44:46

对于点火线圈分配式同时点火的初步理解

点火线圈分配式同时点火,是无分电器点火线圈分配式点火方式中的一种,常用于‌偶数缸发动机‌,如4缸、6缸。该方式和二极管分配式无分电器点火方式有相似的地方,可以和“对于二极管分配式无分电器点火的理解”对比着看。 1、主要特…

作者头像 李华
网站建设 2026/4/27 5:43:40

时间序列预测中的残差建模技术与Python实战

## 1. 时间序列预测中的残差建模核心价值去年帮某电商平台优化销售预测系统时,发现他们的LSTM模型在节假日预测总是出现系统性偏差。当我尝试对预测残差进行二次建模后,周误差率直接下降了37%。这让我意识到,残差修正才是提升时间序列预测精度…

作者头像 李华
网站建设 2026/4/27 5:42:29

Sambert多情感语音合成部署教程:一键启动,快速体验AI语音生成

Sambert多情感语音合成部署教程:一键启动,快速体验AI语音生成 1. 引言:为什么选择Sambert语音合成? 在当今数字化时代,语音合成技术已经广泛应用于智能客服、有声读物、虚拟助手等领域。然而,传统语音合成…

作者头像 李华
网站建设 2026/4/27 5:42:21

机器学习数据预处理:独热编码原理与实践

1. 为什么机器学习中需要独热编码?第一次接触机器学习数据预处理时,你可能会好奇:为什么那些分类变量不能直接用数字1、2、3表示?上周处理电商用户数据集时就踩过这个坑——把"职业"字段简单映射为数值后,模…

作者头像 李华
网站建设 2026/4/27 5:38:14

Python Web框架实战:Flask与Dash构建数据应用

1. Python Web框架选择指南:从命令行到交互式界面作为一名长期使用Python进行机器学习和数据分析的开发者,我经常面临一个挑战:如何将完成的项目交付给非技术背景的同事或客户使用。命令行工具虽然高效,但对普通用户不够友好&…

作者头像 李华