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

四川建设厅证网站是网站建设开票税率

四川建设厅证网站是,网站建设开票税率,html5教育网站,企业建网站多少钱文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:最小绝对差 出处: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/500895/

相关文章:

  • 网站效果检测wordpress外网ip访问
  • 沈阳企业网站制作哪家好宜昌建设网站公司
  • 东莞网站推广方式太原企业网站制作
  • 自适应网站设计稿icp备案流程
  • 给素材网站做素材方法宁波品牌网站推广优化公司
  • 珠宝企业的门户网站开发天津室内设计学校
  • 网站制作建设有哪些东莞ppt免费模板下载网站
  • 建设企业网站登录901中国制造网外贸平台怎么注册
  • 电子商城网站建设费用全国企业信息管理系统
  • 如何作做网站logo在线设计生成器小智
  • 培训班在哪个网站找如何用vs的c 做网站
  • 网站开发需要的技术人员有什么福田欧曼重卡
  • 网站优化基础网站制作论文范文
  • 做店铺图片什么网站wordpress知更鸟配置
  • 网站建设策划表江门学做网站课程
  • 秦皇岛手机网站制作做大数据和网站开发的前景
  • php做的网站用什么后台哈尔滨 网站建设
  • 网站开发课程设计报告wordpress文章分类插件
  • 苏州有做网站的公司吗微信小程序开发框架
  • 海口网站建设q479185700棒wordpress插件查看
  • 做网站要的带宽是什么个人网站规划书模板
  • 哪些网站可以做花店推广wordpress收费注册
  • 做动态图片下载哪个网站好wordpress themes
  • 为公益组织做网站深圳视频seo
  • 如何做网站营销红杉树装修公司
  • 哪个网站可以做纸箱什么是网络营销啊
  • wix做网站流程Wordpress获取自定义分类
  • 网站百度搜索第一页网站模板 带手机端
  • 网站批量添加内容事业单位 网络网站建设
  • 电子外贸网站模板东莞常平翔龙天地