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

重庆网站运营公司怎么进入官方网站查询

重庆网站运营公司,怎么进入官方网站查询,百度知道官网入口,公明网站制作文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:最小绝对差 出处:1200. 最小绝对差 难度 2 级 题目描述 要求 给定整数数组 arr \texttt{arr} arr,其中每个元素都不相同&…

文章目录

  • 题目
    • 标题和出处
    • 难度
    • 题目描述
      • 要求
      • 示例
      • 数据范围
  • 解法
    • 思路和算法
    • 代码
    • 复杂度分析

题目

标题和出处

标题:最小绝对差

出处:1200. 最小绝对差

难度

2 级

题目描述

要求

给定整数数组 arr \texttt{arr} arr,其中每个元素都不相同,找到所有具有最小绝对差的元素对。

按升序的顺序返回元素对列表,每个元素对 [a, b] \texttt{[a, b]} [a, b] 满足:

  • a, b \texttt{a, b} a, b 是数组 arr \texttt{arr} arr 中的元素。
  • a < b \texttt{a} < \texttt{b} a<b
  • b − a \texttt{b} - \texttt{a} ba 等于数组 arr \texttt{arr} arr 中的任意两个元素的最小绝对差。

示例

示例 1:

输入: arr = [4,2,1,3] \texttt{arr = [4,2,1,3]} arr = [4,2,1,3]
输出: [[1,2],[2,3],[3,4]] \texttt{[[1,2],[2,3],[3,4]]} [[1,2],[2,3],[3,4]]
解释:最小绝对差是 1 \texttt{1} 1。将所有绝对差等于 1 \texttt{1} 1 的元素对按升序的顺序加入列表并返回。

示例 2:

输入: arr = [1,3,6,10,15] \texttt{arr = [1,3,6,10,15]} arr = [1,3,6,10,15]
输出: [[1,3]] \texttt{[[1,3]]} [[1,3]]

示例 3:

输入: arr = [3,8,-10,23,19,-4,-14,27] \texttt{arr = [3,8,-10,23,19,-4,-14,27]} arr = [3,8,-10,23,19,-4,-14,27]
输出: [[-14,-10],[19,23],[23,27]] \texttt{[[-14,-10],[19,23],[23,27]]} [[-14,-10],[19,23],[23,27]]

数据范围

  • 2 ≤ arr.length ≤ 10 5 \texttt{2} \le \texttt{arr.length} \le \texttt{10}^\texttt{5} 2arr.length105
  • -10 6 ≤ arr[i] ≤ 10 6 \texttt{-10}^\texttt{6} \le \texttt{arr[i]} \le \texttt{10}^\texttt{6} -106arr[i]106

解法

思路和算法

当数组有序时,每个元素的相邻元素是数组中与该元素最接近的元素,因此最小绝对差一定是排序后的数组中的两个相邻元素之差。

首先将数组排序,然后遍历排序后的数组,计算每一对相邻元素的绝对差,即可得到最小绝对差。

得到最小绝对差之后,再次遍历排序后的数组,计算每一对相邻元素的绝对差,当相邻元素的绝对差等于最小绝对差时,将这一对相邻元素添加到结果列表中,遍历结束之后即可得到所有具有最小绝对差的元素对。

由于是遍历排序后的数组寻找具有最小绝对差的元素对,因此遍历元素对的顺序是递增顺序,可以确保结果列表中的元素对按升序的顺序排列。

代码

class Solution {public List<List<Integer>> minimumAbsDifference(int[] arr) {Arrays.sort(arr);int minDiff = arr[1] - arr[0];int length = arr.length;for (int i = 2; i < length; i++) {minDiff = Math.min(minDiff, arr[i] - arr[i - 1]);}List<List<Integer>> pairs = new ArrayList<List<Integer>>();for (int i = 1; i < length; i++) {if (arr[i] - arr[i - 1] == minDiff) {List<Integer> pair = new ArrayList<Integer>();pair.add(arr[i - 1]);pair.add(arr[i]);pairs.add(pair);}}return pairs;}
}

复杂度分析

  • 时间复杂度: O ( n log ⁡ n ) O(n \log n) O(nlogn),其中 n n n 是数组 arr \textit{arr} arr 的长度。排序需要 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的时间,每次遍历数组需要 O ( n ) O(n) O(n) 的时间,总时间复杂度是 O ( n log ⁡ n ) O(n \log n) O(nlogn)

  • 空间复杂度: O ( log ⁡ n ) O(\log n) O(logn),其中 n n n 是数组 arr \textit{arr} arr 的长度。排序需要 O ( log ⁡ n ) O(\log n) O(logn) 的递归调用栈空间。注意返回值不计入空间复杂度。

http://www.yayakq.cn/news/837314/

相关文章:

  • 宁波网站制作出售自贸区网站建设
  • 视频直播网站app开发wordpress 循环菜单
  • 万盛网站建设公司中铁建设集团有限公司总部在哪
  • 做网站建设小程序建设房地产法律网站
  • 宜昌网站推广优化技巧成都网站品牌设计案例
  • wordpress仿站之家珠海设计公司排名
  • 建筑专业网站建设企业官网制作公司
  • 广州企业建站公司雅安建设局网站
  • 群晖搭建企业网站成都中国旅行社金牛三分社
  • 网页设计类网站赤峰市做网站
  • 如何选择个人网站主题贵港市网站建设
  • 北京做网站个人移动互联网开发培训
  • 神马网站排名重庆建筑人才网招聘
  • 网站建设和源代码问题wordpress 搜索记录
  • 网站有源码 怎么建设开网站的是啥公司
  • 做网站必须用域名吗宿迁发布最新通告
  • 网站后台图片传不上去怎么办erp系统页面
  • 青岛网站关键字优化中国污水处理工程网
  • uc官方网站开发者中心建e网室内设计网下载
  • 微网站下载资料怎么做先做网站还是先备案
  • 网站建设的流程步骤运维兼职平台
  • 网站建设方案书填写示例在线制作简历的网站
  • 网站改备案吗网站服务器 数据库服务器
  • 杭州网站建设很棒友情链接在线观看
  • 工信部网站备案要先做网站吗网站建设技术哪些内容
  • 南阳seo网站价格湛江购房网官方网站
  • 网站建设定制开发网站设计开发网站建设和管理制度
  • 做标签网站是什么样的潜江资讯网二手车
  • 免费网站怎么盈利模式做网站是否要备案
  • 优化排名推广教程网站南京微信网站开发