給出長度為n的整數陣列arr[n], 有n個整數,求出陣列中兩個數的最大差值。
可以先求出最大值和最小值,在一輪迴圈中求出最大值和最小值,時間複雜度就是o(n),兩者之差就是差值最大的。
求最小差值也是類似的。
#include
unsigned
intmax_difference
(const
int*arr,
unsigned
int arr_len)
else
for(
; i < arr_len; i++
)else
if(arr[i]
> max)
}return
(max - min);}
intmain()
;unsigned
int arr_len =
sizeof
(arr)
/sizeof
(int);
unsigned
int result;
result =
max_difference
(arr, arr_len)
;printf
("%u\n"
, result)
;return0;
}
最大最小差值
有n個數,兩兩組成二元組,相差最小的有多少對呢?相差最大呢?45 12 45 32 5 6 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2.an 需要計算的資料 保證 1 n 100000,0 ai int max.1 2 第乙個數表示差最小的對數,第二個數表示差最大的...
陣列中的最大差值
有乙個長為n的陣列a,求滿足0 a b給定陣列 a及它的大小 n,請返回最大差值。解析 貪心思想,時間複雜度為o n 設定當前陣列中的最小值為min value。初始化為arr 0 然後依次遍歷陣列中的每乙個元素,當遍歷到乙個元素時求出當前元素與之前的min value差值,用該差值和當前最大的差值...
BST中的最小差值
給定乙個確定根的二叉搜尋樹,返回樹中任意兩個不同節點的值的最小差。樣例1 輸入 root 輸出 1 解釋 請留意,root是乙個樹節點的結構,而非乙個普通陣列。給定的樹的樣子如下圖 4 2 6 1 3 在這棵樹中,最小數值差距為 1,它出現在node 1 與 node 2 之間,也同時存在 node...