Leetcode 18 三数之和

news2024/9/24 19:23:24

//双指针,不过因为是三个数所以左侧是两个下标


class Solution {
    public List<List<Integer>> threeSum(int[] nums) {
        int n = nums.length;
        Arrays.sort(nums);
        List<List<Integer>> ans = new ArrayList<List<Integer>>();

        for(int i = 0; i < n; i++){
            if(i > 0 && nums[i] == nums[i - 1]) continue;
            int target = -nums[i];
            int k = n - 1;
            for(int j = i + 1; j < n; j++){
                if(j > i + 1 && nums[j] == nums[j - 1]) continue;
                while(j < k && nums[j] + nums[k] > target){
                    k--;
                }
                if(j == k) break;
                if(nums[j] + nums[k] == target){
                    List<Integer> tmp = new ArrayList<>();
                    tmp.add(nums[i]);
                    tmp.add(nums[j]);
                    tmp.add(nums[k]);
                    ans.add(tmp);
                }
            }
        }
        return ans;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1134146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何制作二维码会议签到系统?

展会电子签到系统是一种通过电子方式进行参会者签到的系统。展会电子签到系统包括多种签到方式&#xff0c;如二维码签到、人脸识别、胸卡等。其中二维码签到制作简单、使用方便&#xff0c;是一种大家比较常用的方式。 二维码系统签到的优势主要有以下几点&#xff1a; 1、省…

《Spring Boot源码解读与原理分析》带你走入框架的世界

Java被称为最热门的语言。 而Spring Boot为我们提供了一种优雅而高效的方式来创建Spring基于的应用程序。它利用了许多Spring项目和第三方库,通过自动配置简化了项目配置。 此书籍不仅带来了许多题例&#xff0c;而且文章简而易懂&#xff0c;适合小白阅读&#xff0c;而且每…

响应式设计与自适应设计有何不同

目录 前言 响应式设计 用法 理解 自适应设计 用法 理解 高质量的设计 响应式设计与自适应设计是两种不同的网页设计方法&#xff0c;它们都旨在提供更好的用户体验&#xff0c;确保网站能够在不同设备和屏幕尺寸上正确显示。虽然这两种设计方法有共同之处&#xff0c;但…

测试员突破瓶颈指南,不看又废了一年

有没有感觉忙忙碌碌&#xff0c;一年又一年&#xff0c;却发现自己在测试的道路上好像没啥长进 测试群、测开群、自动化群&#xff0c;没少加&#xff1b; 文章、公众号、网盘的资源没少关注和搜集&#xff1b; 大佬推荐的书没少买&#xff0c;书上落灰了都没碰过&#xff1…

linux性能分析(七)CPU性能篇(二)怎么理解平均负载

一 怎么理解平均负载 ① 如何查看平均复杂 查看系统负载的命令&#xff1a; top、uptime、w、cat /proc/loadavg、tload /proc/loadavg 思考&#xff1a; uptime每列输出的含义?重点&#xff1a; 当前时间、系统运行时间、正在登录用户数、平均负载 ② 思考&#xff1…

利用 Databend + COS助力 CDH 分析 | 某医药集团

作者&#xff1a; 黄志武 某医药集团信息中心数据库组组长&#xff0c;13 年数据库行业从业经历&#xff0c;Oracle OCM&#xff0c;关注 Oracle、MySQL、Redis、MongoDB、Oceanbase、Tidb、Polardb-X、TDSQL、CDH、Clickhouse、Doris、Databend 等多方面的关键领域技术&#…

JavaScript对象与原型

目录 对象的创建 原型与原型链 原型继承 总结 在JavaScript中&#xff0c;对象是非常重要的概念之一。它们允许我们以一种结构化的方式存储和组织数据&#xff0c;并提供了一种方便的方式来操作和访问这些数据。而对象的行为和属性则通过原型来定义。 对象的创建 在JavaS…

如何集成验证码短信API到你的应用程序

引言 当你需要为你的应用程序增加安全性和用户验证功能时&#xff0c;集成验证码短信API是一个明智的选择。验证码短信API可以帮助你轻松实现用户验证、密码重置和账户恢复等功能&#xff0c;提高用户体验并增强应用程序的安全性。本文将介绍如何将验证码短信API集成到你的应用…

备受欢迎的数字音频工作站 Studio One 新增了对 Linux 的支持

导读音乐制作人们&#xff0c;这是你们翘首以待的消息。备受欢迎的数字音频工作站 Studio One 新增了对 Linux 的支持。 数字音频工作站&#xff08;DAW&#xff09; 已经成为音乐制作专业人士重要工具之一。 遗憾的是&#xff0c;对于 Linux 用户而言&#xff0c;选择十分有…

聚焦生成式AI前沿技术:亚马逊云科技生成式AI构建者大会圆满结束

目前生成式AI应用落地已经从热火朝天的“百模大战”&#xff0c;步入到了少数优秀模型脱颖而出&#xff0c;工具链百花齐放&#xff0c;以及企业主管认真寻找生成式AI落地场景的新阶段。基于这一背景&#xff0c;亚马逊云科技特地举办了亚马逊云科技生成式AI构建者大会&#xf…

Python 深浅拷贝使用与区别

什么是拷贝&#xff1a; python 中拷贝是指创建一个新的对象&#xff0c;其中包含了原始对象的值&#xff0c;以便于在不改变原始对象的情况下进行操作。拷贝在处理数据时非常有用&#xff0c;特别是当我们需要对数据进行修改而又不想影响原始数据时。 2.浅拷贝 浅拷贝的规则…

跨境安全 | 在美国做电商,千万要小心这5类信用卡欺诈手段

信用卡业务在美国早早出现并迅速完善&#xff0c;其支付方式的普及程度也非常高。根美国信用报告中心&#xff08;American Credit Bureau&#xff09;数据显示&#xff0c;截至2021年底&#xff0c;美国共有超过2.5亿信用卡用户&#xff0c;其中超过80%的成年人持有至少一张信…

19 行为型模式-模板方法模式

1 模板方法模式介绍 模板方法模式(template method pattern)原始定义是&#xff1a;在操作中定义算法的框架&#xff0c;将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 2 模板方法模式原理 模板方法模式的定位很清楚&#xff0c;…

从洋河“一带一路”之行,思考白酒国际化的破题道路

在古老的丝绸之路上&#xff0c;岁月不仅留下了无数行商足迹和边塞诗词&#xff0c;也写下了中国白酒出海最初的篇章。 作为一种文化交流的媒介&#xff0c;白酒曾随着陆上和海上丝绸之路来到世界各地&#xff0c;一度成为“世界潮品”。 千年后的今天&#xff0c;为了寻找新…

测试左移与右移

测试左移 对于需求&#xff0c;代码&#xff0c;质量&#xff0c;效率&#xff0c;《代码大全》很早就从软件工程实践角度说明了一个bug产生的不同阶段&#xff0c;修复一个bug的成本从需求阶段&#xff0c;设计阶段&#xff0c;测试阶段有着天壤差别。不仅从成本上&#xff0…

【C语言】详解数据在内存中的存储

目录 1. 整形在内存中的存储1.1 原码、反码、补码1.2 大小端介绍1.3 设计一个程序来判断当前编译器的字节序&#xff1a; 2. 有符号char和无符号char在内存中存储的区别2.1 有符号char(signed char/char)2.2 无符号char(unsigned char) 3. 浮点型在内存中的存储3.1 浮点数存储规…

RK356X/RK3588构建Ubuntu20.04根文件系统

文章目录 前言一、官网下载ubuntu-base二、挂载并构建文件系统2.1、配置构建文件系统环境2.2、编写挂载脚本mount.sh并安装相关工具2.3、轻量级的桌面环境 lubuntu-desktop2.4、卸载一些不必要的软件2.5、添加用户2.6 、允许root用户登录桌面2.7、串口自动登录2.8、添加分区释放…

Android期末考考前盘点(八):各类控件事件--使用内部类的更合适懵逼的考试学生方式

这个系列----Android的期末应急方案 在上学期的期末收获了一致好评&#xff0c;但是在上学期期末考试中发现部分考生不会&#xff0c;或者说考试题目中会出到一些事件&#xff0c;例如&#xff1a;Button按钮的点击事件、长按事件&#xff1b;EditView文本框的监听事件、ListV…

HFSS笔记——求解器和求解分析

文章目录 1、求解器2、求解类型3、自适应网格剖分4、求解频率选择4.1 求解设置项的含义4.2 扫频类型 1、求解器 自从ANSYS将HFSS收购后&#xff0c;其所有的求解器都集成在一起了&#xff0c;点击Project&#xff0c;会显示所有的求解器类型。 其中&#xff0c; HFSS design&…

Bootstrap之JavaScript的模态框(modal)使用-不离开父窗体的情况下的互动-点击按钮弹出对话框

Bootstrap的JavaScript的模态框(modal)是覆盖在父窗体上的子窗体。通常&#xff0c;目的是显示一个单独的内容&#xff0c;可以在不离开父窗体的情况下有一些互动。 子窗体可以自定义内容&#xff0c;可提供信息展示、交互等功能。 01-一个简单的、基本的模态框示例代码 <…