陣列內兩個元素的最大差

2021-07-06 06:22:56 字數 554 閱讀 9290

2016京東商場校園招聘筆試題

問題描述:

無序陣列array, 找到陣列中兩個數的最大差值, 且大數出現在小數之後,如:arr[i]-arr[j], 且

i比如: array 是 [2, 3, 10, 6, 4, 8, 1],最大差值是8(2-10)

方法1

依次訪問陣列中的每乙個元素:

1) 記錄當前訪問過的陣列中的最小值 min_val;

2) 當前元素值arr[i] - min_val 和 max_diff作比較

若大於 max_diff , 則更新它的值

時間複雜度o(n)

空間複雜度o(1)

#include 

using

namespace

std;

int maxdiff(int *arr, int n)

int main()

; cout

<7)<}

陣列排序相鄰元素的最大差值

題目 給定乙個陣列,求如果排序之後,相鄰兩數的最大差值,要求時間複雜度o n 且要求不能用非基於比較的排序。解題思路 借助桶排序 created by yzm on 11 12 18.include include includeusing namespace std class maxgap in...

陣列相鄰兩數最大差值

思路 因為要求時間複雜度為o n 且不能用非比較排序,常用的比較排序很難做到o n 這裡是借助n 1個桶,將n個數平均分配到n個桶裡,所以我們所求的最大差值肯定不在乙個桶內 只有乙個數另說 然後依次求出當前桶最小值與前乙個非空桶最大值的差值,求出最大的差值就是我們要的結果。static class ...

陣列中後面元素與前面元素的最大差值

求陣列中兩個元素差的最大值 後面的元素減去前面的元素 o n 時間複雜度o 1 空間複雜度 題目 在陣列中找到兩個元素,計算後面的元素減去前面的元素的差。求出所有差的最大值。你可以認為你在 票,和賣出 就是你的盈利 陣列a 0.n 對於0 i maxdiff 獲取最大差值 return maxdif...