zoukankan      html  css  js  c++  java
  • 【leetcode】1200. Minimum Absolute Difference

    题目如下:

    Given an array of distinct integers arr, find all pairs of elements with the minimum absolute difference of any two elements. 

    Return a list of pairs in ascending order(with respect to pairs), each pair [a, b] follows

    • a, b are from arr
    • a < b
    • b - a equals to the minimum absolute difference of any two elements in arr

    Example 1:

    Input: arr = [4,2,1,3]
    Output: [[1,2],[2,3],[3,4]]
    Explanation: The minimum absolute difference is 1. List all pairs with difference equal to 1 in ascending order.

    Example 2:

    Input: arr = [1,3,6,10,15]
    Output: [[1,3]]
    

    Example 3:

    Input: arr = [3,8,-10,23,19,-4,-14,27]
    Output: [[-14,-10],[19,23],[23,27]]
    

    Constraints:

    • 2 <= arr.length <= 10^5
    • -10^6 <= arr[i] <= 10^6
     

    解题思路:把arr排好序后依次求相邻两个元素的差值,即可得到结果。

    代码如下:

    class Solution(object):
        def minimumAbsDifference(self, arr):
            """
            :type arr: List[int]
            :rtype: List[List[int]]
            """
            arr.sort()
            res = []
            min_diff = float('inf')
            for i in range(len(arr)-1):
                if arr[i+1] - arr[i] < min_diff:
                    res = [[arr[i],arr[i+1]]]
                    min_diff = arr[i+1] - arr[i]
                elif arr[i+1] - arr[i] == min_diff:
                    res.append([arr[i],arr[i+1]])
            return res
  • 相关阅读:
    开发流程之功能设计
    spring security之web应用安全
    feign架构原理解析
    负载均衡之ribbon
    服务发现之eureka
    JavaScript的内置对象
    JavaScript的流程控制语句以及函数
    JavaScript的基础语法及DOM元素和事件
    CSS的基础使用
    盒子模型
  • 原文地址:https://www.cnblogs.com/seyjs/p/11582769.html
Copyright © 2011-2022 走看看