官方解答 · 置頂Java
官方解答|文字輸入檢查
官方解答|文字輸入檢查
解題思路
將 text 傳給 Integer.parseInt,使用 7 進位。解析成功後回傳解析出的 int;只在 NumberFormatException 分支回傳 fallback。
正確性與邊界
parseInt 自行檢查 ASCII 正負號、每位字元及 int 溢出;未要求 trim 時保留空格使解析失敗。字串長度取實際傳入解析器的字串,文字報表不用 fallback。
複雜度
設 L 為字串長度。時間 O(L),trim 可能需要 O(L) 空間,未 trim 時額外空間 O(1)。
公開範例
輸入 {"text": "12", "fallback": -97},依上述步驟得到 9。
下方程式可直接取代起始碼;使用 Java 11,入口為 Solution.solve。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
import java.util.*;
public class Solution {
public static int solve(String text, int fallback) {
try {
int value = Integer.parseInt(text,7);
return value;
} catch (NumberFormatException error) {
return fallback;
}
}
}
留言討論 0
登入 後就能留言,一起討論不同的寫法。