官方解答 · 置頂Java
官方解答|儀表數值調整
官方解答|儀表數值調整
解題思路
建構子先計算 a+b,用它初始化 value 與不可變 original。adjust 執行「加上調整量」,read 以 value-original 得到題目要求的與初值之差。
正確性與邊界
original 是 final,調整不會覆寫初值;所有 mutable 狀態屬於單次建立的物件,沒有共享 static 欄位。
複雜度
時間 O(1),額外空間 O(1)。
公開範例
輸入 {"a": 1, "b": 2, "c": 3},依上述步驟得到 3。
下方程式可直接取代起始碼;使用 Java 11,入口為 Solution.solve。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
import java.util.*;
public class Solution {
private static class Meter {
private int value;
private final int original;
Meter(int a, int b) { original = a+b; value = original; }
void adjust(int c) { value += c; }
int read() { return value-original; }
}
public static int solve(int a, int b, int c) {
Meter meter = new Meter(a,b);
meter.adjust(c);
return meter.read();
}
}
留言討論 0
登入 後就能留言,一起討論不同的寫法。