求最大連續子數組(和最大)

int MaxsubArr( int *a, int n){
	
	int cur=0, maxSum=a[0];
	
	for( int i=0; i<n; i++){
		if( crr>=0)
			cur+=a[i];
		else cur = a[i];
		
		if( cur > maxSum)
			maxSum = cur;
	}
	return maxSum;
		
}

cur表示以該元素結尾的子數組的最大值,若上一個元素的最大值小於0,則當前元素的最大值為自己,否則則為當前元素值加上上一個元素的最大值。面試

 

         本文爲《編程之法 面試和算法心得》讀書筆記。算法

相關文章
相關標籤/搜索