LeetCode 624. 数组列表中的最大距离

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 暴力超时
      • 2.2 优化

1. 题目

给定 m 个数组,每个数组都已经按照升序排好序了。
现在你需要从两个不同的数组中选择两个整数(每个数组选一个)并且计算它们的距离。
两个整数 a 和 b 之间的距离定义为它们差的绝对值 |a-b| 。你的任务就是去找到最大距离

示例 1:
输入: 
[[1,2,3],[4,5],[1,2,3]]
输出: 4
解释:
一种得到答案 4 的方法是从第一个数组或者第三个数组中选择 1,
同时从第二个数组中选择 5 。注意:
每个给定数组至少会有 1 个数字。列表中至少有两个非空数组。
所有 m 个数组中的数字总数目在范围 [2, 10000] 内。
m 个数组中所有整数的范围在 [-10000, 10000] 内。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-distance-in-arrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 暴力超时

120 / 124 个通过测试用例

class Solution {
public:int maxDistance(vector<vector<int>>& arrays) {int i, j, maxdis = 0, n = arrays.size();for(i = 0; i < n; ++i){for(j = i+1; j < n; ++j){maxdis = max(maxdis, abs(arrays[i].front()-arrays[j].back()));maxdis = max(maxdis, abs(arrays[j].front()-arrays[i].back()));}}return maxdis;}
};

2.2 优化

  • 判断过了的数组,可以进行合并,只有合并以后的 最大的值,最小的值 起作用
class Solution {
public:int maxDistance(vector<vector<int>>& arrays) {int i, j, maxdis = 0, n = arrays.size();int MAX = arrays[0].back(), MIN = arrays[0].front();for(i = 1; i < n; ++i){maxdis = max(maxdis, abs(arrays[i].front()-MAX));maxdis = max(maxdis, abs(arrays[i].back()-MIN));MIN = min(MIN, arrays[i].front());MAX = max(MAX, arrays[i].back());}return maxdis;}
};

56 ms 16.5 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!
Michael阿明

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

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

相关文章

strcpy()函数一个简单那程序来了解一下它。。

View Code #include <stdio.h>#include <string.h>int main() { char a[5] "ABCD"; char b[8] "abcdefg"; char c[8] "abcdefg"; char d[5] "ABCD";strcpy(a,b); //长的复制给短的strcpy(c,d);//短的复制给长的print…

java怎么调用7zip进行压缩_JAVA使用7-zip解压缩带密码的Zip文件(非Proccess方法)...

首先到sourceforge网站下载sevenzipjbinding压缩包我下载的版本是sevenzipjbinding-4.65-1.04-rc-extr-only-AllWindows.zippublicvoidunzipDirWithPassword( final String sourceZipFile ,final String destinationDir , final String password ){RandomAccessFile randomAcce…

LeetCode 156. 上下翻转二叉树(DFS)*

文章目录1. 题目2. 解题1. 题目 给定一个二叉树&#xff0c;其中所有的右节点要么是具有兄弟节点&#xff08;拥有相同父节点的左节点&#xff09;的叶节点&#xff0c;要么为空 将此二叉树上下翻转并将它变成一棵树&#xff0c; 原来的右节点将转换成左叶节点。返回新的根。 …

httpd 分页_更改 Apache httpd.conf 配置文件

提示&#xff1a;如果在虚拟主机商配置&#xff0c;请直接配置第三、四步&#xff0c;因为支持 .htaccess 的空间已经配置好了前面两步。用编辑器打开 Apache 配置文件 httpd.conf(该文件位于 Apache 安装目录Apache2conf)&#xff0c;并按如下步骤修改&#xff0c;。一、加载了…

C#23种设计模式WebCast讲解笔记大全(25讲)

C#面向对象设计模式第一讲&#xff1a;面向对象设计模式与原则 C#面向对象设计模式第二讲&#xff1a;Singleton Pattern单件模式&#xff08;创建型模式&#xff09; C#面向对象设计模式第三讲&#xff1a;Abstract Factory Pattern 抽象工厂模式&#xff08;创建型模式&#…

textlayout Java_Java TextLayout.getBounds方法代码示例

import java.awt.font.TextLayout; //导入方法依赖的package包/类/*** {inheritDoc}*/Overridepublic void paintComponent(Graphics g) {updateSizes();Graphics2D g2d (Graphics2D) g;chatDisplay.removeOldMessages();Dimension size getSize();if (freeColClient.isMapEd…

LeetCode 311. 稀疏矩阵的乘法

文章目录1. 题目2. 解题2.1 暴力求解2.2 选取都不为0的行和列相乘1. 题目 给你两个 稀疏矩阵 A 和 B&#xff0c;请你返回 AB 的结果。 你可以默认 A 的列数等于 B 的行数。 请仔细阅读下面的示例。 示例&#xff1a; 输入&#xff1a; A [[ 1, 0, 0],[-1, 0, 3] ] B [[ 7…

jQuery UI应用--滑块Slider

1、 Animate&#xff1a; 类型Boolean 默认值false a) 用处&#xff1a;单击滑动区域时&#xff0c;滑块是否使用动画效果平滑移动到单击位置。 b) 代码示例&#xff1a; 创建实例时设置属性值 $(".class").slider({animate:true}); 实例化后得到…

java部署jar还是war优劣_详解Spring Boot 部署jar和war的区别

本文介绍了Spring Boot 部署jar和war两种方式的区别,分享给大家,具体如下: 1、 packaging的方式不同,一种设置成jar一种是war xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 cn.vcyber.www vcybe…

创业产品经理需要懂技术吗?

作为一位工程师&#xff0c;和一位在不断追求更好产品的设计人员。个人认为&#xff0c;产品经理最好是这样的&#xff1a;一、 精通技术。技术很容易框住人的思想&#xff0c;要不特别精通&#xff0c;能随时跳出技术的束缚&#xff0c;带给产品真正的提升。一般这种产品经理会…

LeetCode 281. 锯齿迭代器(map+vector)

文章目录1. 题目2. 解题1. 题目 给出两个一维的向量&#xff0c;请你实现一个迭代器&#xff0c;交替返回它们中间的元素。 示例: 输入: v1 [1,2] v2 [3,4,5,6] 输出: [1,3,2,4,5,6]解析: 通过连续调用 next 函数直到 hasNext 函数返回 false&#xff0c;next 函数返回值的…

[转载] 杜拉拉升职记——39 充满变数的时期

来源&#xff1a;李可. 杜拉拉升职记(第三版). 西安: 陕西师范大学出版社, 2010, 5. 39 充满变数的时期 何好德和几个销售总监分别谈了话。Tony林事先自然也多少听到些风声&#xff0c;等正式证实了&#xff0c;还是感觉郁闷极了&#xff0c;表面还得装没事人一样&#xff0c;知…

LeetCode 186. 翻转字符串里的单词 II

文章目录1. 题目2. 解题1. 题目 给定一个字符串&#xff0c;逐个翻转字符串中的每个单词。 示例&#xff1a; 输入: ["t","h","e"," ","s","k","y"," ","i","s","…

java自动的废料收集_Java 垃圾收集机制

对象引用Java 中的垃圾回收一般是在 Java 堆中进行&#xff0c;因为堆中几乎存放了 Java 中所有的对象实例。谈到 Java 堆中的垃圾回收&#xff0c;自然要谈到引用。在 JDK1.2 之前&#xff0c;Java 中的引用定义很很纯粹&#xff1a;如果 reference 类型的数据中存储的数值代表…

LeetCode 1198. 找出所有行中最小公共元素(二分/合并有序链表)

文章目录1. 题目2. 解题2.1 按列遍历2.2 二分查找2.3 合并k个有序链表1. 题目 给你一个矩阵 mat&#xff0c;其中每一行的元素都已经按 递增 顺序排好了。 请你帮忙找出在所有这些行中 最小的公共元素。 如果矩阵中没有这样的公共元素&#xff0c;就请返回 -1。 示例&#x…

Java参数传递笔记

java值传递与引用传递 1、对象是按引用传递的---带""号的赋值操作 2、Java 应用程序有且仅有的一种参数传递机制&#xff0c;即按值传递---由"函数调用"引起的 3、按值传递意味着当将一个参数传递给一个函数时&#xff0c;函数接收的是原始值的一个副本 4、…

java 分布式系统 面试_分布式系统的面试题9

1、面试题分布式服务接口请求的顺序性如何保证&#xff1f;2、面试官心里分析其实分布式系统接口的调用顺序&#xff0c;也是个问题&#xff0c;一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子&#xff0c;你服务A调用服务B&#xff0c;…

Windows phone 应用开发[14]-调用WebBrowser

很久没有更新博客了.最近一直陷身在项目中难以有时间抽身梳理总结.关于博客确实很多想写的主题.节前大概草草 的梳理一下大概就有十几个主题.只能趁着放假的时间来逐渐把这批文章力所能及系统的更新出来. 主要涉及到我们团队现在Windows phone 项目开发中实际碰到一些问题和对应…

LeetCode 369. 给单链表加一(递归)

文章目录1. 题目2. 解题1. 题目 用一个 非空 单链表来表示一个非负整数&#xff0c;然后将这个整数加一。 你可以假设这个整数除了 0 本身&#xff0c;没有任何前导的 0。 这个整数的各个数位按照 高位在链表头部、低位在链表尾部 的顺序排列。 示例: 输入: [1,2,3] 输出: …

java弹窗点击事件_[Java教程]jQuery的click事件在当前页弹出层窗口(不打开新页面)...

[Java教程]jQuery的click事件在当前页弹出层窗口(不打开新页面)0 2015-10-24 15:00:04当给链接添加一个click事件&#xff0c;我们可能不希望Web浏览器按照其常规模式退出当前页面并通过新页面载入链接的目的地&#xff0c;而是在当前页弹出层窗口(不打开新页面)。例如&#xf…