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

Leetcode 18:四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复)。

解题思路:

1.与三数之和解题思路一样;

2.多了一层循环。

public static List<List<Integer>> fourSum(int[] nums, int target) {int length = nums.length;int left, right, sum;List<List<Integer>> result = new ArrayList<>();Arrays.sort(nums);for (int i = 0; i < length; i++) {if (nums[i] > target && nums[i] >= 0) {return result;}//判断nums[i]是否重复if (i > 0 && nums[i] == nums[i - 1]) {continue;}for (int j = i + 1; j < length; j++) {//判断nums[j]是否重复if (j > i + 1 && nums[j] == nums[j - 1]) {continue;}left = j + 1;right = length - 1;while (left < right) {sum = nums[i] + nums[j] + nums[left] + nums[right];if (sum < target) {left++;} else if (sum > target) {right--;} else {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--;}}}}return result;}

http://www.lryc.cn/news/199694.html

相关文章:

  • word误删除的文件怎么恢复?恢复办法分享
  • 提高Qt开发软件运算性能提升
  • WordPress SMTP邮件发送插件 Easy WP SMTP
  • 大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)
  • springweb+vue前后端分离开发,集成部署
  • 美芯片禁令再次扩大,波及英伟达、AMD以及intel等科技公司 | 百能云芯
  • Docker入门到精通教程
  • Java 对象是什么样子的?
  • 自动驾驶的法律和伦理问题
  • Uniapp 增加百度统计代码
  • pyflink 环境测试以及测试案例
  • EtherNet/IP转Modbus TCP协议网关的接口
  • 视频集中存储/视频监控管理平台EasyCVR如何免密登录系统?详细操作如下
  • 京东商品详情API接口(标题|主图|SKU|价格|库存..)
  • Istio Service Entry介绍
  • 设备巡检管理系统有什么用?企业如何提高生产效率和生产安全?
  • 浅谈单例模式
  • 【非root用户、CentOS系统】中使用源码安装gcc/g++的教程
  • Qemu镜像安全加密测试
  • Ubuntu 18.04 LTS中cmake-gui编译opencv-3.4.16并供Qt Creator调用
  • SpringBoot (2) yaml,整合项目
  • django建站过程(2)创建第一个应用程序页面
  • 竞赛 深度学习人体语义分割在弹幕防遮挡上的实现 - python
  • 网络编程开发及实战(下)
  • (H5轮播)vue一个轮播里显示多个内容/一屏展示两个半内容
  • 【Proteus仿真】【Arduino单片机】蜂鸣器
  • seatunnel web ui 构建时报错
  • Js使用ffmpeg在视频中添加png或gif
  • 多线程 Leetcode 打印零与奇偶数
  • 杭电oj--数列有序