【LeetCode:试题 16.06. 最小差 + 双指针 + 防止整型溢出】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 双指针 + 防止整型溢出
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 试题 16.06. 最小差

⛲ 题目描述

给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差

示例:

输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8}
输出:3,即数值对(11, 8)

提示:

1 <= a.length, b.length <= 100000
-2147483648 <= a[i], b[i] <= 2147483647
正确结果在区间 [0, 2147483647] 内

🌟 求解思路&实现代码&运行结果


⚡ 双指针 + 防止整型溢出

🥦 求解思路
  1. 题目让我们找到俩个数组中元素差绝对值最小的值返回,先分别对俩个数组中的元素进行排序,然后利用俩个指针,分别指向俩个数组,如果数组1中的元素小于等于数组2中的元素,为了让元素更接近,此时指向数组1的指针向后移动一位,反之,指向数组2的指针向后移动一位。上述过程中,维护一个全局最小值不断更新。
  2. 需要注意的是,该题目限制了给定的数,如果我们使用int来更新最小数值,是会越界的,为了防止这一情况的出现,我们使用long类型变量维护最小差。
  3. 有了基本的思路,接下来我们就来通过代码来实现一下的解法。
🥦 实现代码
class Solution {public int smallestDifference(int[] a, int[] b) {int m = a.length, n = b.length;Arrays.sort(a);Arrays.sort(b);int i = 0, j = 0;long min = Long.MAX_VALUE;while (i < m && j < n) {long temp = a[i] - b[j];min = Math.min(min, Math.abs(temp));if (temp <= 0) {i++;} else {j++;}}return (int) min;}
}
🥦 运行结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

ELK企业级日志分析

目 录 一、ELK简介 1.1 elasticsearch简介 1.2 logstash简介 1.3 kibana简介 1.4 ELK的好处 1.5 ELK的工作原理 二、部署ELK 2.1 部署elasticsearch(集群) 2.1.1 修改配置文件 2.1.2 修改系统参数 2.1.2.1 修改systemmd服务管理器 2.1.2.2 性能调优参数 2.1.2.3 …

Python编程工具PyCharm和Jupyter Notebook的使用差异

在编写Python程序时需要用到相应的编程工具&#xff0c;PyCharm和Jupyter Notebook是最常用2款软件。 PyCharm是很强大的综合编程软件&#xff0c;代码提示、代码自动补全、语法检验、文本彩色显示等对于新手来说实在太方便了&#xff0c;但在做数据分析时发现不太方便&#xf…

phpinfo

phpinfo() 是 PHP 中的一个内置函数&#xff0c;用于显示关于 PHP 配置的大量信息&#xff0c;包括已安装的扩展、PHP 版本、服务器信息、环境变量、注册的流封装器和包装器、路径、内存使用情况、上传文件大小限制、脚本运行时间限制等等。这对于调试和优化 PHP 应用程序非常有…

手写实现简单Redis命令客户端功能

RESP协议 Redis 的客户端和服务端之间采取了一种名为 Redis序列化的协议&#xff08;REdis Serialization Protocol&#xff0c;简称RESP&#xff09;&#xff0c;是基于 TCP 的应用层协议 &#xff0c;RESP 底层采用的是 TCP 的连接方式&#xff0c;通过 TCP 进行数据传输&am…

layui前端开发-记录一次弹窗嵌套表格功能的开发

1.碎碎念&#xff1a; 前端是真的难写哇&#xff0c;写的巨烂&#xff0c;毕竟平时很少写前端&#xff0c;很容易忘记。每次写都要抱着官方文档看&#xff0c;特此记录一下layui的使用。 大概就是打开一个弹窗实现一些button然后再渲染一个表格上去。 2.code&#xff1a; <…

基于嵌入式Linux的高性能车载娱乐系统设计与实现 —— 融合Qt、FFmpeg和CAN总线技术

随着汽车智能化的发展&#xff0c;车载娱乐系统已成为现代汽车的标配。本文介绍了一个基于Linux的车载娱乐系统的设计与实现过程。该系统集成了音视频娱乐、导航、车辆信息显示等功能&#xff0c;旨在提供安全、便捷、丰富的驾驶体验。 1. 项目概述 随着汽车智能化的发展&…

240717.学习日志——51单片机C语言版学习总结

课程资料 视频&#xff1a;51单片机入门教程&#xff1a;2020版 书籍&#xff1a;手把手教你学51单片机 开发板&#xff1a;普中51实验版 课程目录 1-1 课程简介 1-2 开发工具介绍及软件安装 1-3 单片机及开发板介绍 2-1 点亮一个LED 2-2 LED闪烁 2-3 LED流水灯 3-1…

postgresql删除用户

背景 **角色与用户**&#xff1a;在 PostgreSQL 中&#xff0c;用户和组的概念是通过“角色”来统一实现的。角色可以有登录权限&#xff08;在这种情况下&#xff0c;它们通常被称为“用户”&#xff09;&#xff0c;也可以没有&#xff08;在这种情况下&#xff0c;它们通常用…

Flutter笔记--WebSocket

Flutter中WebSocket这一块主要用的是插件web_socket_channel&#xff0c;它主要基于 WebSocket 协议&#xff0c;通过该协议实现与服务器之间的双向通信&#xff1b; web_socket_channel 插件的几个主要步骤&#xff1a; 1 连接到WebSocket服务器: 使用 WebSocketChannel.conn…

解决VSCode自动识别文件编码

在VScode 的 设置界面 输入 autoGuess 关键字 &#xff0c;勾选启用即可自动识别&#xff01;&#xff01;&#xff01;

高通Android 12 设置Global属性为null问题

1、最近在做app调用framework.jar需求&#xff0c;尝试在frameworks/base/packages/SettingsProvider/res/values/defaults.xml增加属性 <integer name"def_xxxxx">1</integer> 2、在frameworks\base\packages\SettingsProvider\src\com\android\provide…

LabVIEW电路产品功能自动检测系统

开发基于LabVIEW的电路产品功能自动检测系统。该系统通过整合先进的硬件和软件技术&#xff0c;实现了电路产品的自动化测试&#xff0c;显著提高了测试效率和准确性&#xff0c;对于提升电子产品的可靠性和工作效率具有重要意义。 项目背景 在电子制造业中&#xff0c;电路产…

Springboot 项目 Maven 依赖冲突解决总结

引言 在使用Spring Boot和Maven进行项目开发时&#xff0c;依赖冲突是一个常见的问题。这些冲突可能会导致编译错误、运行时异常或不一致的行为。以下是一些解决Maven依赖冲突的策略和步骤&#xff1a; 1. 理解依赖冲突 在Maven中&#xff0c;依赖冲突通常发生在两个或多个依…

从0到1搭建数据中台(4):neo4j初识及安装使用

在数据中台中&#xff0c;neo4j作为图数据库&#xff0c;可以用于数据血缘关系的存储 图数据库的其他用于主要用于知识图谱&#xff0c;人物关系的搭建&#xff0c;描述实体&#xff0c;关系&#xff0c;以及实体属性 安装 在官网 https://neo4j.com/ 下载安装包 neo4j-co…

Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中&#xff0c;有时为了调整表格的结构或适应不同的数据展示需求&#xff0c;我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考&#xff1a; 文章目录 Python 在Wo…

数据结构(Java):力扣 二叉树面试OJ题(二)【进阶】

目录 &#x1f48e; 1、题一&#xff1a;二叉树的层序遍历 &#x1f31f; 1.1 思路1&#xff08;递归求解&#xff09; &#x1f31f; 1.1.1 思路1代码 &#x1f506; 1.2 思路2&#xff08;队列求解&#xff09; &#x1f506; 1.2.1 思路2代码 &#x1f48e; 2、题二&…

MySQL1

新建产品库mydb6_product: mysql> create database mydb6_product; mysql> use mydb6_product; 建立employees表&#xff1a; mysql> create table employees(id int primary key, name varchar(50) not null, age int, gender varchar(10) not null default unknow…

【chatgpt】通过游戏理解强化学习概念策略policy,动作action和状态state

可以将策略&#xff08;policy&#xff09;类比为一个游戏中的决策指南。假设你正在玩一个游戏&#xff0c;在每个游戏场景&#xff08;状态&#xff09;下&#xff0c;你需要决定下一步应该做什么&#xff08;动作&#xff09;。策略就是告诉你在每个场景下应该做什么的指南。…

查询Mysql数据库所有数据库所占磁盘空间大小

查询Mysql数据库所有数据库所占磁盘空间大小&#xff1a; select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2), MB) as data_size, concat(truncate(sum(index_length)/1024/1024,2),MB) as index_size from information_schema.tables group by TABLE_SCHE…

无需业务改造,一套数据库满足 OLTP 和 OLAP,GaiaDB 发布并行查询能力

在企业中通常存在两类数据处理场景&#xff0c;一类是在线事务处理场景&#xff08;OLTP&#xff09;&#xff0c;例如交易系统&#xff0c;另一类是在线分析处理场景&#xff08;OLAP&#xff09;&#xff0c;例如业务报表。 OLTP 数据库擅长处理数据的增、删、改&#xff0c…