leetcode 164 最大間距

2021-10-10 20:58:32 字數 1380 閱讀 6807

目錄

一、題目內容

二、解題思路

三、**

給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。

如果陣列元素個數小於 2,則返回 0。

示例 1:

輸入: [3,6,9,1]

輸出: 3

解釋: 排序後的陣列是 [1,3,6,9], 其中相鄰元素 (3,6) 和 (6,9) 之間都存在最大差值 3。

示例 2:

輸入: [10]

輸出: 0

解釋: 陣列元素個數小於 2,因此返回 0。

說明:

哎,不嘗試了,直接sorted()

class solution:

def maximumgap1(self, nums: list) -> int:

sorted_nums = sorted(nums)

return max(y - x for x, y in zip(sorted_nums, sorted_nums[1:])) if len(nums) >= 2 else 0

def maximumgap2(self, nums: list) -> int:

if len(nums) == 1 or len(nums) == 0:

return 0

sorted_nums = sorted(nums)

value = sorted_nums[1] - sorted_nums[0]

for i in range(1, len(sorted_nums) - 1):

temp = sorted_nums[i + 1] - sorted_nums[i]

if temp > value:

value = temp

return value

if __name__ == '__main__':

a = [3, 6, 9, 1]

s = solution()

ans1 = s.maximumgap1(a)

ans2 = s.maximumgap2(a)

print(ans1)

print(ans2)

LeetCode 164 最大間距

給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。如果陣列元素個數小於 2,則返回 0。示例 1 輸入 3,6,9,1 輸出 3解釋 排序後的陣列是 1,3,6,9 其中相鄰元素 3,6 和 6,9 之間都存在最大差值 3。示例 2 輸入 10 輸出 0解釋 陣列元素個數小於 2,因此...

leetcode 164 最大間距

給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。如果陣列元素個數小於 2,則返回 0。第一時間想到的也是最簡單的,先將所給陣列排序,再遍歷一遍陣列找出最大間距 複雜度分析 首先我們來了解一下桶排序的思想。桶排序是體現了分治的思想。原理是建立若干個桶,通過某種對映將待排序的元素放置到桶...

leetCode 164 最大間距

給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。如果陣列元素個數小於 2,則返回 0。示例 1 輸入 3 6,9 1 輸出 3解釋 排序後的陣列是 1,3,6,9 其中相鄰元素 3,6 和 6,9 之間都存在最大差值 3。示例 2 輸入 10 輸出 0解釋 陣列元素個數小於 2,因此...