色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 兩個子數組和最接近

江奕云2年前8瀏覽0評論

最近在學習 Java 相關知識,看到了一道關于兩個子數組和最接近的問題。這里分享一下我的解決思路。

首先,我們可以先計算出整個數組的和 sum,然后分別從左往右和從右往左遍歷該數組,記錄下當前子數組的和 leftSum 和 rightSum,同時維護一個變量 diff 記錄兩個子數組和的最小差值。

int diff = Integer.MAX_VALUE; // 初始化差值為最大值
int leftSum = 0;
int rightSum = sum;
for (int i = 0; i< nums.length; i++) {
leftSum += nums[i];
rightSum -= nums[i];
diff = Math.min(diff, Math.abs(leftSum - rightSum));
}

上面的代碼實現了從左往右遍歷的過程,接下來我們再從右往左遍歷一遍,取左右遍歷的最小值作為最終的差值。

int leftSum = sum;
int rightSum = 0;
for (int i = nums.length - 1; i >= 0; i--) {
leftSum -= nums[i];
rightSum += nums[i];
diff = Math.min(diff, Math.abs(leftSum - rightSum));
}

最后的 diff 就是兩個子數組和最接近的值。