求最大子列和

int MaxSubSeqSum(int arr[], int n) {
      int currentSum, maxSum;
      currentSum = maxSum = 0;
      for(int i=0; i<n; i++) {
          currentSum += arr[i];  /* 向右累加 */
          if(currentSum > maxSum) {  /* 發現更大值 更新最大值 */
              maxSum = currentSum;
          }else if(currentSum < 0){  /* 如果當前子列為負 舍棄 置零 */
              currentSum = 0;
         }
     }
     return maxSum;
 }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一種:最簡單的解法:把所有子列都算一遍找到最大的 第二種:采用分治法,運用遞歸來解決。(使用了分治一般O(N2)...
    MentallyL閱讀 399評論 0 0
  • 今天來討論一個很基礎的算法問題,數列的最大子列和問題。這道題我是在看浙大陳姥姥的Mooc的時候看到的,算是陳越老師...
    Originalee閱讀 1,749評論 3 0
  • 如果,你不做一次想做就做的決定,青春還有什么意義。拋開所有世俗的眼光,理解你的,不理解你的,都可以滾的遠遠兒...
    木子的筆閱讀 458評論 0 0
  • 在我的心裡,你們是我最重要的人。 身為90後的二胎,在我出生的當晚我就被送到了你們的身邊。我親愛的爺爺奶...
    蕾蕾醬醬閱讀 213評論 1 0
  • 盜圖盜圖 僅供自賞
    十指連心閱讀 224評論 0 0