陣列中子陣列等於k的最大長度

2021-08-07 08:26:49 字數 563 閱讀 3488

假定有陣列arr[4]=, 求出陣列中子陣列中等於12的最大長度。
建立乙個hash表,其key等於陣列中遍歷過的數的和,其value等於當前遍歷的數在陣列中的下標。用sum儲存遍歷過的數的總和,len儲存最大長度;依次從陣列的開頭遍歷,如果sum-k的值在hash表中有記錄,則len更新為i-map[sum-k]和len的較大值,如果不存在就將加入map中,以便下次查詢。

**如下:

#include 

#include

#include

using

namespace

std;

int maxlength(int* arr,int n,int k));

int len=0;

int sum=0;

for(int i=0;iif(m.find(sum-k)!=m.end())

else);}}

return len;

}int main()

; cout

<5,12)<}

查詢陣列中子陣列最大和

宣告 以下題目 網路 題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的 最大值。要求時間複雜度為o n 2013 04 16 include includeint maxsubarray int data,int siz...

陣列中子陣列的最大累乘積

陣列中子陣列的最大累乘積 給定乙個double型別的陣列arr,其中的元素可正 可負 可0,返回子陣列累乘的最大乘積。例如,arr 2.5,4,0,3,0.5,8,1 子陣列 3,0.5,8 累乘可以獲得最大的乘積12,所以返回12 要求 時間複雜度為o n o n o n 空間複雜度為o 1 o ...

325 和等於 k 的最長子陣列長度

題目描述 給定乙個陣列 nums 和乙個目標值 k,找到和等於 k 的最長子陣列長度。如果不存在任意乙個符合要求的子陣列,則返回 0。注意 nums 陣列的總和是一定在 32 位有符號整數範圍之內的。示例 1 輸入 nums 1,1,5,2,3 k 3 輸出 4 解釋 子陣列 1,1,5,2 和等於...