Next Permutation

题意:给定一个数组,要求找出全排列的下一个排列,如[1,2,3]的下一个排列是[1,3,2]。 31. Next Permutation 比较数学的题目,先要找到要被交换的下标i,满足nums[i]<nums[i+1],i和它右边的某个下标j交换,j应该是比i大但是是在右边 ...

Remove Nth Node From End of List

题意:给定一个链表,要求移除从尾部开始的第n个节点并返回链表头。 19. Remove Nth Node From End of List 比较简单的解法是先算出链表的长度,然后从头开始移动size-n个节点即可。但是这样会遍历两次链表,有没有可能只遍历一次 ...

4Sum

题意:给定一个整数数组和目标值target,返回所有可能的四数组合,要求满足四个数字各不相同且四数之和等于target。 18. 4Sum 四数之和,相比三数之和多了一个数,可以多加一层循环,但是如果题目改为五数之或者六数之和呢?所以我们需要找到一个通用的解法,三数之和其实可以看作四数之和更小规模的问题,可以用递 ...

3Sum

题意:给定一组整数,找出3个整数nums[i],nums[j],nums[k],满足以下条件,三数之和等于0且i,j,k互不相同。要求返回所有不重复的组合。 15. 3Sum 思路: 要求组合不重复,可以先对数组从小到大排序,这样自然就做了除重。 一开始肯定能想到暴搜,时间复杂度是O(n3),肯定是不能 ...

3Sum Closest

题意:给定一个整数数组和一个目标值target,找出一个三数组合,使它的和最接近target,并返回这个值。 16. 3Sum Closest 这题思路和3Sum类似,在遍历时计算最接近target的值并记录下来,取最大值。 class Solution { public ...