题目:给定一个数组和一个目标值,返回所有不重复的3元组,每个元组的和等于目标值,且元组中,各元素按飞递减顺序。
先对其进行排序,在利用2sum,在2sum中,要求和为0,这里可以将数组中的元素的相反数作为和,找到另外两个数,那么三者的和为0。
在2sum中,经过排序后,总的时间复杂度是排序算法的复杂度占主导O(NlogN),在查找时是遍历数组,复杂度为O(n)。那么在3sum中,首先进行排序,...
分类:
其他好文 时间:
2014-05-18 14:02:28
阅读次数:
249
题目:nest,嵌套
思路:思路想通了其实很简单:将负数压栈,遇到输入正数时,检查栈顶元素,如果栈顶是正数,则出栈,一直检查栈顶元素直到栈顶是负数,判断该数和栈顶负数是否为相反数,并判断出栈的那些正数之和是否小于该输入的正数(这个是满足题目中的相加小于m的条件)。如果满足,则栈顶负数出栈,输入的正数入栈。这样循环到最后,如果一直匹配则最后栈中只剩一个元素。 思路很清晰,但实现起来比较麻烦,...
分类:
移动开发 时间:
2014-05-13 07:23:00
阅读次数:
361