leetcode-每日一题1200. 最小绝对差

简介: leetcode-每日一题1200. 最小绝对差

07ba6d0d00d44250b5a49809c579c999.png


题目链接:https://leetcode.cn/problems/minimum-absolute-difference/


思路


1.需要找出最小绝对值差


那我们是不是可以先从小到大排序arr数组,通过遍历数组找出arr[i]-arr[i-1]的最小绝对值差res。


2.需要我们找出所有最小绝对值差的元素对,并按升序排序


我们已经找出最小绝对值差,我们只要再对数组遍历一遍找出arr[i]-arr[i-1] = res的元素对,把他插入到ans数组里,因为我们之前已经对数组进行排序,所以我们找出的所有答案都是以升序存入ans数组


代码实现


func minimumAbsDifference(arr []int) (ans [][]int) {
    sort.Ints(arr)
    res := 10000000
    for i := 1; i < len(arr) ;i++ {
      //找出最小绝对值差
        if arr[i] - arr[i - 1] < res {
            res = arr[i] - arr[i - 1]
        }
    }
    for i := 1; i < len(arr) ;i++ {
      //找出最小绝对值差的元素对,并存入ans数组
        if arr[i] - arr[i - 1] == res {
            ans = append(ans, []int{arr[i - 1], arr[i]})
        }
    }
    return 
}


目录
相关文章
|
8月前
动态规划之使用最小花费爬楼梯【LeetCode】
动态规划之使用最小花费爬楼梯【LeetCode】
|
8月前
leetcode-1200:最小绝对差
leetcode-1200:最小绝对差
44 1
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
【力扣每日一题:2-19】1004. 最大连续1的个数 III【中等】
|
人工智能 算法 BI
【每日算法Day 97】经典面试题:求两个数组最小差
【每日算法Day 97】经典面试题:求两个数组最小差
141 0
leetcode 746 使用最小花费爬楼梯
leetcode 746 使用最小花费爬楼梯
81 0
leetcode 746 使用最小花费爬楼梯
leetcode每日一题:746. 使用最小花费爬楼梯
leetcode每日一题:746. 使用最小花费爬楼梯
|
Python
LeetCode 746. 使用最小花费爬楼梯
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。
91 0
|
算法 前端开发
力扣-最接近三数之和 中等 🌍
力扣-最接近三数之和 中等 🌍
130 0
力扣-最接近三数之和 中等 🌍
【力扣每日一题:8-04】611. 有效三角形的个数【中等】
【力扣每日一题:8-04】611. 有效三角形的个数【中等】