码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode #1200. Minimum Absolute Difference

时间:2020-11-27 11:43:44      阅读:10      评论:0      收藏:0      [点我收藏+]

标签:代码   最小   lis   app   href   ref   遍历字典   返回值   return   

题目

1200. Minimum Absolute Difference


解题方法

先对arr排序,再遍历arr,将其中的数存入字典作为键,并且计算最小差值mindif。最后遍历字典中的键key,如果key+mindif也在字典中,则加入到返回值rat。
时间复杂度:O(nlogn)
空间复杂度:O(n)


代码

class Solution:
    def minimumAbsDifference(self, arr: List[int]) -> List[List[int]]:
        arr.sort()
        dic = {}
        mindif = arr[1] - arr[0]
        for i in range(len(arr)-1):
            dic[arr[i]] = arr[i]
            mindif = min(mindif, arr[i+1] - arr[i])
        else:
            dic[arr[i+1]] = arr[i+1]
        
        rat = []
        for key in dic.keys():
            if key + mindif in dic:
                rat.append([key, key+mindif])
        return rat

LeetCode #1200. Minimum Absolute Difference

标签:代码   最小   lis   app   href   ref   遍历字典   返回值   return   

原文地址:https://www.cnblogs.com/RatsCommander/p/14030421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!