數組最大差值

數組最大差值問題是指給定一個數組,找出其中兩個數字的最大差值。例如,給定數組 [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)。