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

leetcode18-四数之和

leetcode 18
在这里插入图片描述

思路

参考三数之和,四数之和在三数之和外再套一层循环,然后里面内容跟三数之和一致,去重逻辑也一致

实现

var fourSum = function (nums, target) {
    nums.sort((a, b) => a - b);
    let result = [];
    for (let i = 0; i < nums.length - 3; i++) {
        if (i > 0 && nums[i] === nums[i - 1]) continue;
        for (let j = i + 1; j < nums.length - 2; j++) {
            if (j > i + 1 && nums[j] === nums[j - 1]) continue;
            let left = j + 1, right = nums.length - 1;
            while (left < right) {
                if (left > j + 1 && nums[left] === nums[left - 1]) {
                    left++;
                    continue;
                }
                if (right > nums.length - 1 && nums[right] === nums[right - 1]) {
                    right--;
                    continue;
                }
                const sum = nums[i] + nums[j] + nums[left] + nums[right];
                if (sum === target) {
                    result.push([nums[i], nums[j], nums[left], nums[right]]);
                    left++;
                } else if (sum < target) {
                    left++;
                } else {
                    right--;
                }
            }
        }
    }
    return result;
};

相关文章:

  • 百度舆情优化:百度下拉框中的负面如何清除?
  • Golang学习历程【第七篇 闭包type defer panic recover了解time包】
  • Redis中的某一热点数据缓存过期了,此时有大量请求访问怎么办?
  • Docker 镜像的构建与管理(二)
  • 比亚迪“璇玑架构”和特斯拉FSD的比较
  • 第一章:Matlab 基础入门
  • Spring Boot整合DeepSeek实现AI对话
  • python-leetcode 25.环形链表
  • 番外03:前端面试八股文-javaScript
  • 服务器防护(ubuntu)
  • 数据结构(6)
  • 华象新闻 | 2月20日前谨慎升级 PostgreSQL 版本
  • 初阶c语言(练习题,猜随机数,关机程序)
  • bash shell笔记——循环结构
  • 业务开发 | 基础知识 | Maven 快速入门
  • AWS助力AI智能扫地机器人马来西亚项目技术解析与成本优化实践
  • 【工业场景】用YOLOv8实现火灾识别
  • Docker 的打包及基本使用
  • 力扣-二叉树-257 二叉树的所有路径
  • LKT4202UGM新一代安全认证加密芯片,守护联网设备和服务安全
  • 全球最大汽车板供应商宝钢股份:汽车工业加速转型中材料商如何共舞?
  • 5月起,这些新规将施行
  • 城市更新·简报│中央财政支持城市更新,倾斜超大特大城市
  • 马上评|什么才是地方文旅宣传的正确姿势
  • 解放日报社论:只争朝夕、不负重托,加快建成具有全球影响力的科技创新高地
  • 交行一季度净利253.72亿元增1.54%,不良率微降