分享|算法打卡第13天|四数相加
69
4 小时前
4 小时前
发布于 福建

题目链接:https://leetcode.cn/problems/4sum-ii/

视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh

一、初见想法

第一眼想直接写四层循环,又知道肯定超时。看到提示哈希表,明白可以用空间换时间来提速。

二、解题思路

1. 把4个数组拆成两组:A+B 和 C+D

2. 先算出A+B所有的和,用哈希表存下每个和出现的次数

3. 再算C+D的和,找哈希表里能凑成0的值,累加数量得到答案

三、遇到的困难

1. 一开始想不到两两分组的拆分技巧

2. 对哈希表存频次、查数据的用法不熟练

3. 分不清本题和双指针版四数之和的区别

4. 担心重复计数出错

四、学习收获

1. 掌握了多数求和的分组哈希通用套路

2. 弄懂了空间换时间的算法优化思路

3. 分清了哈希解法和双指针解法的适用场景

4. 学会了先优化复杂度、再写代码的做题思维

1776933185-ZRJeli-1776933181336340.jpeg

评论 (0)