從有負有正的陣列中找出總和最大的連續序列

2021-08-21 15:37:22 字數 400 閱讀 8133

給乙個int陣列a和陣列長度n,請返回最大連續序列的和

比如陣列 [1,2,3,-6,1],則返回 6.

其實我們 可以多找幾個例子:

[1,3,-1,3,4]  -->  10

[-1,-2,-3,-4]  --> -1

從中可以發現,最大連續序列的和有正有負,所以在初始化 max 的值時不能習慣性的賦予0,應置為int_min.之後的思路便是順序累加,若是當前總和 sum為正數則繼續進行下去,sum 為負則表示會越加越小,此時應置 sum為0.在累加的過程中sum值若是大於max,則將sum值賦予max。

**如下:

int getmaxsum(vectora,int n)

return max;

}

從陣列中找出乘積最大的三個數

題目 給定乙個無序陣列,包含正數 負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度 o n 空間複雜度 o 1 輸入描述 無序整數陣列a n 輸出描述 滿足條件的最大乘積 輸入例子1 3 4 1 2 輸出例子1 24 思路 由於空間複雜度和時間複雜度的要求,肯定無法先排序,因為排序最...

找出陣列中是否有重複的數

2010 09 09 23 03 59 分類 c c 標籤 c 字型大小大中小 訂閱 陣列a n 1至n 1這n 1個數存放在a n 中,其中某個數重複一次。寫乙個函式,找出被重複的數字。時間複雜度必須為o n 函式原型 int do dup int a,int n 假金條的數學思想 此演算法題借鑑...

找出陣列中是否有重複的數

題目是這樣的,陣列是無序的,可能沒有重複的數,但最多隻可能有乙個重複的數,要求用最快的方法找到是否有重複的數。乍一想,挺難的,但是其實非常的簡單。解決辦法 陣列a n 1 至n 1 這n 1 個數存放在 a n 中,其中某個數 重複一次 寫乙個函式,找出被重複的數字。時間複雜度必須為o n 函式原型...