#include using namespace std;
/*3.求子陣列的最大和
題目:輸入乙個整形陣列,陣列裡有正數也有負數。
陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。
求所有子陣列的和的最大值。要求時間複雜度為o(n)。
例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,
因此輸出為該子陣列的和18。
answer:
keep current sum, slide from left to right, when sum < 0, reset sum to 0.
*/int maxsubarray(int a, int size)
else if (sum < 0)
}return max;
}void main()
; cout
}
求子陣列的最大和 微軟面試100題 第三題
題目要求 輸入乙個整型陣列,陣列裡有整數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有個乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如 輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。參考資料 劍指o...
微軟面試100題之第三題 求子陣列的最大和
int maxsubarray int a,int size else if sum 0 return max 接下來我給出幾個時間複雜度不同的c 演算法,僅供參考。int maxsubsum const vector a return maxsum 可以看到此處用到了c 中的vector類,使用了...
微軟程式設計題之求子陣列的最大和
題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。很簡單 include ...