代码随想录day07 四数相加II | 赎金信 | 三数之和 | 四数之和

四数相加II

四数相加II

解题思路

把大问题拆分成小问题,先把四个数组两两划分并遍历所有的可能,将其中两个数组的遍历结果存储在哈希表中,注意,该哈希表是通过值作为key,而该值的出现次数为value,随后遍历另外两个数组用哈希表来寻找解。

知识点

unorderd_map,哈希

心得

一道练习map数据结构的

题目2

赎金信

解题思路

用数组作为哈希表来映射26个英文字母,做法和day06的一题是非类似

知识点

数组,哈希表

心得

通过这道题目帮我复习了昨天做过的题目。

三数之和

三数之和

解题思路

先将数组排列,然后通过双指针的方式遍历整个数组来得到最后的结果。和之前做的双指针类型的题目一样,我们通过目标值的大小和当前的和进行比较来移动双指针。注意,我们需要跳过数组中前后重复的数,否则最后会多存几次结果,就不符合要求了

知识点

双指针,排序,循环

心得

重新将数组进行大小排序是我开始做题时没有想到的,以后再做到类似的题目时,需要考虑这个情况。

三数之和

三数之和

解题思路

先将数组排列,然后通过双指针的方式遍历整个数组来得到最后的结果。和之前做的双指针类型的题目一样,我们通过目标值的大小和当前的和进行比较来移动双指针。

知识点

双指针,排序,循环

心得

一开始想到双指针但不知道怎么具体实施,原来是需要先设置一个下标遍历整个数组,剩下两个下标作为双指针移动。

四数之和

四数之和

解题思路

和三数之和的思路一样,需要多套一层循环来遍历。

知识点

双指针,排序,循环

心得

做完前一题再做这一题就很方便了

posted @ 2024-06-28 00:23  不进育碧不改名  阅读(223)  评论(0编辑  收藏  举报