CodeSprout程式萌芽
簡單第 8 題 · 遊戲數值試算
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Java

官方解答|遊戲數值試算

官方解答|遊戲數值試算

解題思路

先依 Java 優先順序計算 a<<(Math.abs(b)%4) 並存入 z,再計算 Math.max(z,c)。程式保留題目的括號,因此位移、位元與算術運算的順序完全一致。

正確性與邊界

每次呼叫都使用區域狀態,互不干擾。運算遵循 Java 整數規則,除法向 0 截斷;題目保證計算落在 int 範圍內。

複雜度

時間 O(1),額外空間 O(1)。

公開範例

輸入 {"a": 1, "b": 2, "c": 3},依上述步驟得到 4。

下方程式可直接取代起始碼;使用 Java 11,入口為 Solution.solve。

CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式

import java.util.*;

public class Solution {

    public static int solve(int a, int b, int c) {
        int z = a<<(Math.abs(b)%4);
        return Math.max(z,c);
    }
}

留言討論 0