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

双指针题总结

双指针题总结

  • hot100
    • 移动零
    • 盛水最多的容器
    • 三数之和
    • 接雨水
    • 最小覆盖子串

hot100

移动零

题目链接:
283.移动零
代码:

class Solution {public void moveZeroes(int[] nums) {int slow = 0;for (int fast = 0; fast < nums.length; fast ++){if (nums[fast] != 0){nums[slow++] = nums[fast];}}for (int i = slow; i < nums.length; i ++){nums[i] = 0;}}
}

盛水最多的容器

题目链接:
11.盛水最多的容器
代码:

class Solution {public int maxArea(int[] height) {int res = 0;int left = 0, right = height.length - 1;while (left < right) {if (height[left] < height[right]) {res = Math.max(res, (right - left)*height[left]);left ++;}else {res = Math.max(res, (right - left)*height[right]);right --;}}return res;}
}

三数之和

题目链接:
15.三数之和
代码:

class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res = new ArrayList<>();Arrays.sort(nums);for (int i = 0; i < nums.length; i ++){if (nums[i] > 0) {return res;}if (i > 0 && nums[i] == nums[i - 1]) {continue;}int left = i + 1;int right = nums.length - 1;while (left < right) {int sum = nums[i] + nums[left] + nums[right];if (sum > 0) {right --;} else if (sum < 0) {left ++;} else {res.add(Arrays.asList(nums[i], nums[left], nums[right]));while (left < right && nums[right] == nums[right - 1]) {right --;}while (left < right && nums[left] == nums[left + 1]) {left ++;}right --;left ++;}}}return res;}
}

接雨水

题目链接:
42.接雨水
代码:

class Solution {public int trap(int[] height) {int res = 0;int left = 0, right = height.length - 1;int maxLeft = 0, maxRight = 0;while (left < right) {maxLeft = Math.max(maxLeft, height[left]);maxRight = Math.max(maxRight, height[right]);if (height[left] < height[right]) {res += maxLeft - height[left];left ++;} else {res += maxRight - height[right];right --;}}return res;}
}

最小覆盖子串

题目链接:
76.最小覆盖子串
代码:

class Solution {public String minWindow(String s, String t) {Map<Character, Integer> need = new HashMap<>();Map<Character, Integer> has = new HashMap<>();int left = 0, right = 0;int valid = 0;int start = 0, minLen = Integer.MAX_VALUE;for (char c : t.toCharArray()) need.put(c,need.getOrDefault(c,0) + 1);while(right < s.length()){char r = s.charAt(right);right ++;if (need.containsKey(r)){has.put(r,has.getOrDefault(r,0) + 1);if (has.get(r).equals(need.get(r))) valid ++;}while (valid == need.size()){if (right - left < minLen){start = left;minLen = right - left;}char l = s.charAt(left);if (need.containsKey(l)){has.put(l,has.get(l) - 1);if (has.get(l) < need.get(l)) valid --;}left ++;}}return minLen == Integer.MAX_VALUE ? "" : s.substring(start,start + minLen);}
}

相关文章:

双指针题总结

双指针题总结 hot100移动零盛水最多的容器三数之和接雨水最小覆盖子串 hot100 移动零 题目链接&#xff1a; 283.移动零 代码&#xff1a; class Solution {public void moveZeroes(int[] nums) {int slow 0;for (int fast 0; fast < nums.length; fast ){if (nums[fas…...

[数据集][目标检测]人脸口罩佩戴目标检测数据集VOC+YOLO格式8068张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8068 标注数量(xml文件个数)&#xff1a;8068 标注数量(txt文件个数)&#xff1a;8068 标注…...

JVM3-双亲委派机制

目录 概述 作用 如何指定加载类的类加载器&#xff1f; 面试题 打破双亲委派机制 自定义类加载器 线程上下文类加载器 Osgi框架的类加载器 概述 由于Java虚拟机中有多个类加载器&#xff0c;双亲委派机制的核心是解决一个类到底由谁加载的问题 双亲委派机制&#xff…...

经典文献阅读之--DEviLOG(使用合成数据和真实世界数据的数据驱动占用网格映射基于Transformer的BEV方案量产方案)

0. 简介 在自动驾驶汽车&#xff08;AV&#xff09;的感知任务中&#xff0c;数据驱动的方法往往优于传统方法。这促使我们开发了一种基于数据的方法来从激光雷达测量中计算占用网格地图&#xff08;OGM&#xff09;。我们的方法扩展了之前的工作&#xff0c;使得估计的环境表…...

ssh之登录服务器后,自动进入目录(四十七)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…...

如何看待IBM中国研发部裁员?

背景&#xff1a; 近日&#xff0c;IBM中国宣布撤出在华两大研发中心&#xff0c;引发了IT行业对于跨国公司在华研发战略的广泛讨论。这一决定不仅影响了众多IT从业者的职业发展&#xff0c;也让人思考全球化背景下中国IT产业的竞争力和未来发展方向。面对这一突如其来的变化&…...

计算机毕业设计选题推荐-土地承包管理系统-Java/Python项目实战(亮点:数据可视化分析、账号锁定、智能推荐)

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

2024年高校辅导员考试题库及答案

一、判断题 121.高校学生身份权是基于高等教育的性质&#xff0c;学生应该获得的本体性权利。 答案&#xff1a;正确 122.学费占年生均教育培养成本的比例和标准由财政部制定。 答案&#xff1a;错误 123.享受国家专业奖学金的高校学生免缴学费。 答案&#xff1a;错误 124…...

使用python对股票市场进行数据挖掘的书籍资料有哪些

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…...

Python 将字典转换为 JSON

在 Python 中&#xff0c;可以使用 json 模块将字典转换为 JSON 格式的字符串。该模块提供了 json.dumps() 方法&#xff0c;用于将 Python 对象&#xff08;如字典、列表&#xff09;序列化为 JSON 字符串。 1、问题背景 用户想要将一个 Python 字典转换为 JSON 格式&#xf…...

就服务器而言,ARM架构与X86架构有什么区别?各自的优势在哪里?

一、服务器架构概述 在数字化时代&#xff0c;服务器架构至关重要。服务器是网络核心节点&#xff0c;存储、处理和提供数据与服务&#xff0c;是企业和组织信息化、数字化的关键基础设施。ARM 和 x86 架构为服务器领域两大主要架构&#xff0c;x86 架构服务器在市场占主导&…...

[论文笔记]Dimensionality Reduction by Learning an Invariant Mapping

引言 今天带来一篇真正远古(2005年)论文的笔记,论文是Dimensionality Reduction by Learning an Invariant Mapping。 该论文中提出的对比损失(2.1节)可以用于训练嵌入模型。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 降维涉及将一…...

链表算法题(下)

在链表算法题&#xff08;上&#xff09;长中我们已经学习了一系列的链表算法题&#xff0c;那么在本篇中我们将继续来学习链表的算法题&#xff0c;接下来就继续来破解链表的算法题吧&#xff01; 1.相交链表 160. 相交链表 - 力扣&#xff08;LeetCode&#xff09; 通过以上…...

UE4_后期处理_后期处理材质及后期处理体积二

效果&#xff1a; 步骤&#xff1a; 1、创建后期处理材质,并设置参数。 2、回到主界面&#xff0c;找到需要发光的物体的细节面板。 渲染自定义深度通道&#xff0c;默认自定义深度模具值为10&#xff08;需要修改此值&#xff0c;此值影响物体的亮度&#xff09;。 3、添加…...

Linux系统与高效进程控制的实战技巧

Linux系统与高效进程控制的实战技巧 Linux&#xff0c;作为一种开源的Unix-like操作系统内核&#xff0c;自1991年由芬兰程序员Linus Torvalds首次发布以来&#xff0c;已成为全球范围内广泛使用的操作系统之一。其强大的功能、灵活的配置以及高度的可定制性&#xff0c;使得L…...

陈文自媒体:抖音创作者伙伴计划,你不知道的几点!

本月的2号开始&#xff0c;官方就下达了通知&#xff0c;各位西瓜创作者&#xff0c;大家要抓紧时间升级为抖音创作者伙伴计划&#xff0c;如果你不升级是吧&#xff0c;没问题&#xff0c;19号开始不发西瓜和中视频收益了。 在这个政策解读和操作过程中&#xff0c;我从同行、…...

便携式气象仪器的主要特点

TH-BQX9】便携式气象仪器&#xff0c;也称为便携式气象仪或便携式自动气象站&#xff0c;是一款高度集成、低功耗、可快速安装、便于野外监测使用的高精度自动气象观测设备。以下是关于便携式气象仪器的详细介绍&#xff1a; 主要特点 高精度与多功能&#xff1a;便携式气象仪器…...

【开源风云】从若依系列脚手架汲取编程之道(四)

&#x1f4d5;开源风云系列 &#x1f34a;本系列将从开源名将若依出发&#xff0c;探究优质开源项目脚手架汲取编程之道。 &#x1f349;从不分离版本开写到前后端分离版&#xff0c;再到微服务版本&#xff0c;乃至其中好玩的一系列增强Plus操作。 &#x1f348;希望你具备如下…...

华为 HCIP-Datacom H12-821 题库 (15)

有需要题库的可以看主页置顶 1.以下关于 OSPF 路由聚合的描述&#xff0c;错误的是哪一项&#xff1f; A、OSPF 中任意一台路由器都可以进行路由聚合的操作 B、OSPF 有两种路由聚合方式&#xff1a;ABR 聚合和ASBR 聚合 C、路由聚合是指将相同前缀的路由信息聚合一起&#xf…...

MT6895(天玑8100)处理器规格参数_MTK联发科平台方案

MT6895平台 采用台积电5nm工艺&#xff0c;与天玑 8000 相比性能提升 20% &#xff0c;搭载4 个 2.85GHz A78 核心 4 个 2.0GHz A55 核心&#xff0c;CPU能效比上一代提高 25% 。GPU 采用了第三代的Valhall Arm Mali-G610 MC6架构&#xff0c;拥有6核心&#xff0c;搭配天玑81…...

从 0 开始搞定 RAG 应用系列(第一篇):构建简单 RAG

从 0 开始搞定 RAG 应用系列&#xff08;第一篇&#xff09;&#xff1a;构建简单 RAG 前言 LLM 已经从最初的研究性转变为实际应用性&#xff0c;尤其在今年各大 LLM 厂商都在研究 LLM 的商业化落地方案&#xff08;包括我司&#xff09;。而在各种商业化场景中个人觉得最具…...

接口(Interface)和端点(Endpoint)的区别

在软件开发和相关的文档中&#xff0c;我们经常会看到两个专有名词&#xff1a;接口&#xff08;Interface&#xff09;和端点&#xff08;Endpoint&#xff09;。而它们的使用场景有很大的重合部分&#xff0c;让人有些分不清到底用哪个。那么&#xff0c;这两者到底有什么区别…...

小米汽车再陷“抄袭”争议,上汽高管直言“真不要脸”

小米SU7在上市初期就曾面临来自各方的争议与质疑&#xff0c;不少人将其戏称为“米时捷”或“保时米”。 转载科技新知 原创 作者丨杰瑞 编辑丨影蕨 近日&#xff0c;在成都车展上&#xff0c;上汽乘用车常务副总经理俞经民对小米汽车提出了尖锐批评&#xff0c;指责其“抄袭”…...

VS C++ 加入dump实现崩溃日志 可以再崩溃的时候使用VS调试

调用 // 加入崩溃dump文件功能SetUnhandledExceptionFilter(ExceptionFilter); 实现 #include "DbgHelp.h"//生成dump int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers) {// 定义函数指针typedef BOOL(WINAPI * MiniDumpWriteDumpT)(HANDLE,DWORD,H…...

Ubuntu22.04版本左右,开机自动启动脚本

Ubuntu22.04版本左右&#xff0c;开机自动启动脚本 1. 新增/lib/systemd/system/rc-local.service中[Install]内容 vim /lib/systemd/system/rc-local.service 按 i 进入插入模式后&#xff0c;新增内容如下&#xff1a; [Install] WantedBymulti-user.target Aliasrc-local.…...

中秋之美——html5+css+js制作中秋网页

中秋之美——html5cssjs制作中秋网页 一、前言二、功能展示三、系统实现四、其它五、源码下载 一、前言 八月十五&#xff0c;秋已过半&#xff0c;是为中秋。 “但愿人长久&#xff0c;千里共婵娟”&#xff0c;中秋时节&#xff0c;气温已凉未寒&#xff0c;天高气爽&#x…...

java设计模式day03--(结构型模式:代理模式、适配器模式、装饰者模式、桥接模式、外观模式、组合模式、享元模式)

5&#xff0c;结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式&#xff0c;前者采用继承机制来组织接口和类&#xff0c;后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低&#xff0c;满足“…...

Golang path/filepath包详解:高效路径操作与实战案例

Golang path/filepath包详解&#xff1a;高效路径操作与实战案例 引言基础用法Abs 函数Base 函数Clean 函数Dir 函数Ext 函数FromSlash 和 ToSlash 函数 基础用法Abs 函数Base 函数Clean 函数Dir 函数Ext 函数FromSlash 和 ToSlash 函数 路径操作Join 函数Split 函数Rel 函数Ma…...

【Shiro】Shiro 的学习教程(四)之 SpringBoot 集成 Shiro 原理

目录 1、第一阶段&#xff1a;启动服务&#xff0c;构建类的功能2、第二阶段&#xff1a;正式请求 1、第一阶段&#xff1a;启动服务&#xff0c;构建类的功能 查看 Shiro 配置类 ShiroConfiguration&#xff1a; Configuration public class ShiroConfiguration {// 创建 sh…...

多线程篇(阻塞队列- PriorityBlockingQueue)(持续更新迭代)

目录 一、简介 二、类图 三、源码解析 1. 字段讲解 2. 构造方法 3. 入队方法 put 浮调整比较器方法的实现 入队图解 4. 出队方法 take dequeue 下沉调整比较器方法的实现 出队图解 四、总结 一、简介 PriorityBlockingQueue队列是 JDK1.5 的时候出来的一个阻塞…...