当前位置: 首页 > news >正文

算法训练营第十四天|18.四数之和

第14天 18. 四数之和
建议: 要比较一下,本题和 454.四数相加II 的区别,为什么 454.四数相加II 会简单很多,这个想明白了,对本题理解就深刻了。 本题 思路整体和 三数之和一样的,都是双指针,但写的时候 有很多小细节,需要注意,建议先看视频。

题目链接:https://leetcode.cn/problems/4sum/ 视频讲解:https://www.bilibili.com/video/BV1DS4y147US

public class Demo3 {
public List<List<Integer>> fourSum(int[] nums,int target){
List<List<Integer>> result=new ArrayList<>();
if (nums==null||nums.length<4) {
return result;
}
Arrays.sort(nums);
int n=nums.length;
for (int i = 0; i < n-3; i++) {
if (i>0&&nums[i]==nums[i-1]) continue;
if((long)nums[i]*4>target) break;
if((long)nums[i]+nums[n-3]+nums[n-2]+nums[n-1]<target) continue;
for (int j = i+1; j < n-2; j++) {
if(j>i+1&&nums[j]==nums[j-1]) continue;
if((long)nums[i]+nums[j]*3>target) break;
if((long)nums[i]+nums[j]+nums[n-2]+nums[n-1]<target) continue;
int left=j+1,right=n-1;
while (left<right) {
long sum=(long) nums[i]+nums[j]+nums[left]+nums[right];
if (sum==target) {
result.add(Arrays.asList(nums[i],nums[j],nums[left],nums[right]));
while(left<right&&nums[left]==nums[left+1]) left++;
while(left<right&&nums[right]==nums[right-1]) right--;
left++;right--;
}
else if (sum<target) {
left++;
}
else {
right--;
}
}
}
}
return result;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
Demo3 demo3=new Demo3();
System.out.println("length:");
int n=in.nextInt();
int[] nums=new int[n];
System.out.println("数组:");
for (int i = 0; i < nums.length; i++) {
nums[i]=in.nextInt();
}
System.out.println("target");
int target=in.nextInt();
System.out.println(demo3.fourSum(nums, target));
}
}

http://www.jsqmd.com/news/706126/

相关文章:

  • DocsGPT 二次开发:打造面向国内用户的私有 AI 知识库平台
  • 高精度 98陀螺 0.01度/小时 2.7w
  • Cubase15.0.21 Pro一键安装完整版下载安装Cubase 15 Pro最新版下载安装教程支持Win/Mac双系统版送104G原厂音源Mac系统苹果不关SIP安装Cubase15.0.21
  • 权威见证:Ledger 携手京东开启官方授权新篇章,正品保障触手可及
  • 太阳能路灯选技术,看准这三点不踩坑
  • DevEco Studio:卡片预览
  • 海凌科HLK-W801开发板开箱:从零配置平头哥CDK到MQTT通信实战
  • 若依Vue3.8.2项目开发+Gitee提交完整流程(学生信息模块)
  • 躲进弹坑更安全吗?
  • 2026年呼和浩特正规床垫厂家销售TOP5,你知道几个?
  • 2026云南纯水设备标杆名录:云南净水设备、云南污水处理、云南纯水设备、四川净水设备、四川污水处理、四川纯水设备选择指南 - 优质品牌商家
  • Materialize:用SQL实现毫秒级实时数据处理的增量物化视图引擎
  • 《深耕QClaw协作逻辑,构建无误解的智能体沟通体系》
  • 边缘计算中视觉语言动作模型的优化与加速
  • STM32CubeMX生成的工程,为什么开发板能跑QEMU却不行?深入排查SystemInit函数
  • ASP Folder:深入解析ASP文件夹在Web开发中的应用
  • 基于LLM与向量数据库的智能体框架Lore:构建私有知识库AI助手
  • 2026玉溪蓝莓批发厂家排行:澄江蓝莓/玉溪蓝莓/云南蓝莓/澄江花香蓝莓/玉溪花香蓝莓/云南花香蓝莓/选择指南 - 优质品牌商家
  • Postgresql数据库快速入门
  • 利用Awesome LLM Apps仓库:从开源项目学习大模型应用开发实战
  • SVM中拉格朗日乘数法与松弛变量的应用原理
  • 3D人脸识别技术研究
  • 监控靠报警?还是靠AI?90%的系统其实“早就该宕了”
  • AI助手配置管理工具cursor-kit:统一管理Cursor、Copilot、AntiGravity配置
  • 沙箱隔离失效的11个隐性信号,第8个已在金融客户生产环境触发RCE——MCP 2026隔离健康度自检清单
  • 国产中间件兼容性黑洞:MCP 2026在东方通TongWeb 7.0.4.12下JNDI绑定失败的4层根因分析(从JNI调用栈到国密BCC证书链完整性验证)
  • TiMEM-AI:用大语言模型实现可解释时间序列预测的实践指南
  • 票据结构化信息解析
  • 新闻文本自动摘要预处理技术与实践
  • 深度学习图像增强实战:Keras工具链与领域优化