leetcode第18题

简介: top18和3Sum类似,只不过是找四个数,使得和为 target,并且不能有重复的序列。如果之前没有做过3Sum可以先看看,自己在上边的基础上加了一个循环而已。

image.png

top18

3Sum类似,只不过是找四个数,使得和为 target,并且不能有重复的序列。

如果之前没有做过3Sum可以先看看,自己在上边的基础上加了一个循环而已。

publicList<List<Integer>>fourSum(int[] num, inttarget) {
Arrays.sort(num);
List<List<Integer>>res=newLinkedList<>();
//多加了层循环for (intj=0; j<num.length-3; j++) {
//防止重复的if (j==0|| (j>0&&num[j] !=num[j-1]))
for (inti=j+1; i<num.length-2; i++) {
//防止重复的,不再是 i == 0 ,因为 i 从 j + 1 开始if (i==j+1||num[i] !=num[i-1]) {
intlo=i+1, hi=num.length-1, sum=target-num[j] -num[i];
while (lo<hi) {
if (num[lo] +num[hi] ==sum) {
res.add(Arrays.asList(num[j], num[i], num[lo], num[hi]));
while (lo<hi&&num[lo] ==num[lo+1])
lo++;
while (lo<hi&&num[hi] ==num[hi-1])
hi--;
lo++;
hi--;
                        } elseif (num[lo] +num[hi] <sum)
lo++;
elsehi--;
                    }
                }
            }
    }
returnres;
}

时间复杂度:O(n³)。

空间复杂度:O(N),最坏情况,即 N 是指 n 个元素的排列组合个数,即 N=C^4_nN=Cn4,用来保存结果。

完全是按照 3Sum 的思路写的,比较好理解。


目录
打赏
0
0
0
0
10
分享
相关文章
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(1)
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(1)
297 0
OpenCV中拆分通道、合并通道、alpha通道的讲解及实战演示(附python源码 超详细)
OpenCV中拆分通道、合并通道、alpha通道的讲解及实战演示(附python源码 超详细)
782 0
|
3月前
|
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
本文主要介绍了因清理电脑垃圾文件时误删虚拟内存导致的Windows页面文件配置问题,并提供了详细的解决步骤。问题表现为开机后出现临时页面文件创建的提示弹窗。解决方法包括通过控制面板或快捷键进入高级系统设置,进而调整虚拟内存设置:进入性能选项中的虚拟内存栏,选择自动管理所有驱动器的分页文件大小,最后确认并重启计算机以恢复正常运行。
1067 5
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
Android消息处理机制(Handler+Looper+Message+MessageQueue)
Android消息处理机制(Handler+Looper+Message+MessageQueue)
282 2
AI在医疗健康领域的应用
随着人工智能技术的不断发展,其在医疗健康领域的应用也日益广泛。从辅助诊断、个性化治疗方案的制定,到疾病预防和健康管理,AI技术都在发挥着重要作用。本文将探讨AI在医疗健康领域的应用,包括其在医学影像分析、基因编辑、药物研发等方面的应用,以及其对医疗行业未来发展的影响。
NVIDIA Triton系列12-模型与调度器2
本文介绍了NVIDIA Triton服务器的“集成推理”功能,涵盖“集成模型”与“集成调度器”两部分,通过示例说明了如何构建一个包含图像预处理、分类和语义分割的推理流水线,强调了模型间数据张量的连接与处理,以及配置集成模型和调度器的具体步骤。
148 1
NVIDIA Triton系列12-模型与调度器2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问