343. 索引讀取復原
查閱工具收到以文字表示的位置,要先解析索引再讀取資料,並分別處理兩個階段的錯誤。
逐筆把 texts[i].trim() 解析成十進位陣列索引,再讀 nums[index] 並轉成絕對值。NumberFormatException 採格式錯補負一,ArrayIndexOutOfBoundsException 採索引錯略過。格式錯誤直接加入−1,不套用轉換。索引錯誤只略過該筆,不讀取邊界元素,也不加入結果值。回傳結果和及兩類錯誤數;稽核格式為[結果總和,格式錯誤數,索引錯誤數]。總和包含策略指定加入的補值;任何格式錯誤或索引超界都必須計數,復原策略不影響錯誤數。格式解析失敗時不再執行陣列存取,不重複計為索引錯誤。
請使用 Java 完成 Solution.solve;直接回傳資料,不使用 Scanner 或自行讀取標準輸入。
傳入的資料
nums:int[];texts:String[]。陣列/集合依 JSON 範例的順序傳入,索引從 0 開始。
回傳的答案
List<Integer>,固定三個元素 [結果總和, 格式錯誤數, 索引錯誤數];總和包含策略指定的補值。
看個例子
[[], []][0, 0, 0][[10], ["0"]][10, 0, 0]資料範圍
輸入不為 null。數字元素介於 -1000~1000、陣列長度 0~40,除非題意另有指定;字串長度 0~80。所有計算與回傳整數均在 Java int 範圍內(題目明示的 long 運算除外)。文字排序以 Java String.compareTo 為準;英文字母與數字皆為 ASCII。整數除法向 0 截斷;空輸入處理依題意。
💡 給我一點提示+
先逐條寫出資料轉換與分支規則,確認空輸入及邊界,再處理一般案例。
使用 Java,在 public class Solution 中完成題目指定型別的 public static solve(...) 方法,以 return 回傳答案。可加入 import、輔助類別與方法;保留入口型別,不需撰寫 main 或讀取輸入。
公開案例固定為 3 組。自訂案例只用於測試,不納入提交評分。0 / 17 組自訂案例
提交結果
測試結果
公開與自訂案例按「測試程式」查看執行結果。
測試在瀏覽器內執行,不會標記完成或增加 XP。Java 首次載入需要網路。 Java 環境由 CheerpJ 提供。