= [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 先对数组进行从小到大升序排序,之后用一个循环(循环范围 0~size 满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ] 首先,将数组从小到大排序,之后先使用双层循环范围为(0 ~ size
if(size % 3 == 1){ //如果最终会剩下4个数字 number = build(number,0,size -3,list); //将之前的数字分成3个一组 number = build(number,size-3,size,list);//将最后四个数字分成2个一组
size-4;a++){ if(a>0&&nums[a]==nums[a-1]) continue; //确保nums[a] 改变了 for(b=a+1;b<=_size
* 同理倒数第二个元素满足条件被删除时,i--后,原数组的倒数第三个变成了新数组的倒数第二个元素 * i= size-3指向新数组的倒数第二个元素,也没有漏掉 * * @param list *
直接返回空容器 if (size < 4) return ret; //给数组排序 sort(nums.begin(),nums.end()); for (int i = 0; i < size
arr[0]=ps->arr[1],ps->arr[1]=ps->arr[2]……这样的顺序,如果是ps->arr[ps->size-2]=ps->arr[ps->size-1],ps->arr[ps->size