目錄
一、題目內容
二、解題思路
三、**
給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。如果陣列元素個數小於 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,因此...