在Java中,求最小正子序列和是一個比較常見的問題,通常可以通過動態規劃算法來解決。
public static int minSubArray(int[] arr) { int minSum = Integer.MAX_VALUE; int sum = 0; for (int i = 0; i< arr.length; i++) { sum += arr[i]; if (sum >0) { sum = 0; } else { minSum = Math.min(minSum, sum); } } return minSum; }
以上是一個比較常見的解法,其核心思路是通過一個變量sum來記錄當前子序列的和,如果當前子序列和大于0,則將sum重置為0,否則更新最小子序列和的變量minSum。
需要注意的是,由于題目要求的是正數的最小子序列和,因此求解時需要將sum重置為0。
上一篇css中em的含義