九章演算法面試題87 最小子陣列
阿新 • • 發佈:2019-02-13
原文網址
問題詳情
給定一個整數陣列,找到一個具有最小和的子陣列。返回其最小和。線上評測本題:
http://www.lintcode.com/zh-cn/problem/minimum-subarray/解答
這道題和max subarray很類似,我用local 和 global 的dp方式闊以解決這道那麼我們來看動態規劃的四個要素分別是什麼?
State:
localmin[i] 表示以當前第i個數最為結尾的最小連續子陣列和。
globalmin[i] 表示以當i個數裡面(可以不以第i個作為結尾)的最小連續子陣列和。
Function:
localmin[i] = min(localmin[i - 1] + nums.get(i), nums.get(i));
globalmin[i] = min(globalmin[i - 1], localmin[i]);
initialize:
globalmin[0] = localmin[0] = nums.get(0);
answer:
globalmin[n-1]/