文章目录

  • 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


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

LeetCode 624. 数组列表中的最大距离相关推荐

  1. python删除数组元素_python:从数组列表中删除一系列数字

    我在从数组列表中删除范围A到B的元素时遇到问题.我在网上搜索的解决方案似乎只适用于单个元素.相邻元素和或整数元素.我在处理浮点数. 1 2 3 4 5 6 7self.genx = np.arange ...

  2. LeetCode 1855. 下标对中的最大距离(双指针)

    文章目录 1. 题目 2. 解题 1. 题目 给你两个 非递增 的整数数组 nums1​​​​​​ 和 nums2​​​​​​ ,数组下标均 从 0 开始 计数. 下标对 (i, j) 中 0 < ...

  3. java搜索string_java – 在数组列表中搜索最常见的String

    我想知道如何搜索字符串的ArrayList以找到我创建的"行程"对象中最常出现的"目的地"(其中包含不同目的地的列表.) 到目前为止,我有: public st ...

  4. Json数组列表中的数据分组排序、组内排序

    文章目录 问题描述 方式一:先全部排序,在分组排序 方式二:使用HashMap取出来分组再组内排序 方式三:使用TreeMap取出来分组再组内排序 测试代码及耗时 问题描述 现在有一个用户信息数组,用 ...

  5. java删除数组里的两个_java – 如何从两个数组列表中删除常用值

    我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...

  6. java数组列表_java – 如何显示数组列表中的所有元素?

    说我有一个属性make和注册的汽车类,我创建一个ArrayList来存储它们.如何显示ArrayList中的所有元素? 我现在有这个代码: public Car getAll() { for(int ...

  7. android listview 数据数组制作,android – 从对象的数组列表中填充listview

    在你的活动 AdapterPerson adbPerson; ArrayList myListItems = new ArrayList(); //then populate myListItems ...

  8. jsp获取java数组长度_数组 – 如何在java jsp中获取数组列表大小?

    我有一个表单要求用户输入ID.此表单发送到一个servlet,该servlet检查数据库以查看用户是否存在.如果用户存在,那么它会发回我们的订购项目.有序项目作为数组列表返回.然后这个数组列表将重定向 ...

  9. print arraylist 显示的不是内容_泛型数组列表 java.util.ArrayListlt;Egt;

    泛型数组列表 java.util.ArrayList<E> ArrayList<E>(int initialCapacity) // 用指定容量构建一个空数组列表 ArrayL ...

最新文章

  1. oracle to_char FM099999
  2. [译]Speeding up your PHP scripts
  3. aes c android ios,AES加密在iOS和Android中产生不同的结果
  4. 错误提示:'……' is not assignable to Android.app.Activity Manifest XML
  5. php安装oci8和pdo_oci扩展实现连接oracle数据库
  6. 单片机牛人的学习经历
  7. 下载站源码 php,thinkphp开发素材资源源码下载站整站源代码
  8. SparkSQL ClickHouse RoaringBitmap使用实践
  9. Conflux TokenGazer AMA活动内容回顾
  10. WINDOW -- 给硬盘分盘以及合盘
  11. 【调剂】中国民航大学课题组招收硕士生,等离子体模拟领域,国家自然科学基金资助课题...
  12. Windows搭建cloudever对接OneDrive教程(新版)
  13. 前端免费图标icon的使用方法和获取
  14. EasyAdmin极简社区论坛系统源码
  15. R设置默认语言为英文的方法
  16. 微信小程序快速提升访问量
  17. 【JY|土木】失稳你过来,我们谈谈吧。
  18. DASH MPD 文件内容解析
  19. 关于《石油化工可燃气体和有毒气体检测报警设计规范》GB50493-2009 的笔记
  20. 环境配置 龙书dx12_DX12龙书 00 - 环境配置:通过 Visual Studio 2019 运行示例项目

热门文章

  1. libsvm C++ 代码参数说明汇总
  2. linux显示系统信息软件下载,linux查看系统信息软件安装信息命令学习笔记
  3. linux grep 匹配空格_17 个案例,5 分钟简单搞定 Linux 正则表达式!
  4. Python学习之==第三方模块的安装、模块导入
  5. 2.Cannot find config.m4.
  6. 怎么在前台取的ViewBag中的值
  7. 数据冗余的理解和相关概念
  8. Redis源码分析之小型测试框架testhelp.h和redis-check-aof.c日志检测
  9. QT事件的接受与忽略
  10. 这三个Offer,你怎么选?