LeetCode #1200. Minimum Absolute Difference
题目
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

浙公网安备 33010602011771号