leetcode (DI String Match)
阿新 • • 發佈:2019-01-06
Title: DI String Match 942
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/di-string-match/
1. 見程式碼註釋
時間複雜度:O(n),兩次一層for迴圈。
空間複雜度:O(n),申請額外空間陣列,最後需要返回這個陣列。
/** * 假設需要求解的陣列遞增,將遇到D時,將其對應的位置賦最大值,後面遇到D,依次減一,最後將沒有賦值的陣列的位置從0開始賦值 * @param S * @return */ public static int[] diStringMatch(String S) { int n = S.length() + 1; int res[] = new int[n]; for (int i = 0; i < S.length(); i++) { if (S.charAt(i) == 'D') { res[i] = --n; } } int k = 0; for (int i = 0; i < res.length; i++) { if (res[i] == 0) { res[i] = k++; } } return res; }