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
  • 相关阅读:
    从大量的IP访问记录中找到访问次数最多的IP
    打赏功能的实现
    MFC通过ODBC连接Mysql程序
    VC++中使用MFC通过ADO连接数据库
    MySQL 5.1参考手册
    MFC ADO mysql 经验总结一
    VC连接MySQL
    VC连接MySQL
    MFC使用ADO对象开发数据库应用程序
    MFC中用Ado连接数据库
  • 原文地址:https://www.cnblogs.com/seyjs/p/11582769.html
Copyright © 2011-2022 走看看