官方解答 · 置頂Java
官方解答|即時累計面板
官方解答|即時累計面板
解題思路
total 初值 0。每個原元素先判斷「偶數」,符合時轉為 x*x,更新規則為:符合時將轉換值加到 total;不符合時將 total 歸零。每處理完一個原元素,立即記錄 total。
正確性與邊界
不符合的元素仍產生一筆追蹤值。交錯正負只依符合值次序,略過值不切換符號;空 nums 回傳空清單。
複雜度
時間 O(n),額外空間 O(n) 存放追蹤序列。
公開範例
輸入 {"nums": [1]},依上述步驟得到 [0]。
下方程式可直接取代起始碼;使用 Java 11,入口為 Solution.solve。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
import java.util.*;
public class Solution {
public static List<Integer> solve(int[] nums) {
List<Integer> result = new ArrayList<>();
int total = 0, matches = 0;
for (int x : nums) {
if (x % 2 == 0) {
total += x*x;
} else {
total = 0;
}
result.add(total);
}
return result;
}
}
留言討論 0
登入 後就能留言,一起討論不同的寫法。