再次遍历另两个数组,将两个数组的元素进行相加,取和的相反数,通过使用相反数在map中查找,如果没出现,所指向的数是0,如果出现过这个数的相反数,则所指向的数大于一。最后将总数返回题目来自于leetcode第十五题给定一个n个整数的数组S,是否存在S中的元素a,b,c,使得a + b + c = 0?查找数组中所有唯一的三元组,它们的总和为零。自己在想了一段时间后想到了一些优化方案,但是本质上都没有将次方缩减,所以仍然需要改进,目标为n^2。这样子只需要扫描数组一遍就可达到两层循环的结果。思路简单是这样,在实现的时候要考虑一些其他的问题,具体实现的代码如下:
暂无评论