數組最大差值
數組最大差值問題是指給定一個數組,找出其中兩個數字的最大差值。例如,給定數組 [3, 1, 6, 10],其中最大的差值是 10 - 1 = 9。
在Python中,可以使用以下代碼來解決這個問題:
def max_difference(arr):
n = len(arr)
if n < 2:
return 0
max_diff = arr[0] - arr[1]
for i in range(1, n):
for j in range(i, n):
cur_diff = arr[j] - arr[i]
if cur_diff > max_diff:
max_diff = cur_diff
return max_diff
# 示例
arr = [3, 1, 6, 10]
print(max_difference(arr)) # 輸出應該是9
這個算法的時間複雜度是 O(n^2),因為內層迴圈遍歷了 n - 1 次,外層迴圈遍歷了 n 次。如果數組已經排好序,可以使用二分查找來減少時間複雜度到 O(n log n)。