讨论/《腾讯》 - 三数之和/
《腾讯》 - 三数之和
共 4 个回复

for(int i = 1; i < len;++i){
//去掉连续且重复的元素,超过三个的
//如 0 0 0 0 1 1 1 1 ---- 0 0 0 1 1 1
if(pre ==nums[i] && count == 3){
continue;
}else if(pre != nums[i]){
pre = nums[i];
midSums.push_back(nums[i]);
count = 1;
continue;
}
count++;
//pre = nums[i]
midSums.push_back(nums[i]);
}

1

1111

我试的暴力列出所有三值组合然后筛选去重,用了递归,但是最后超时了虽然结果正确(sad

本题其实可以对原有数字nums进行以恶排序操作,然后将排序后的数组进行三个连续数去重存入新数组midSum,在直接转化为TwoSum问题不需要在考虑重复的问题直接for循环。