[LeetCode] #944 Delete Columns to Make Sorted 解題
題型解說
這是一題難度為簡單的題目
需要設計一個方法,此方法會傳入一個字串陣列 strs
這個陣列中每個字串的長度都相同,字串內容都是小寫英文
需要檢查每個元素的第 N 個字元是不是由小至大排列,並回傳有幾個錯誤排列
比如傳入的陣列長這樣 ["cba","daf","ghi"]
取第一個字元 = cdg
取第二個字元 = bah
取第三個字元 = afi
其中第二組的結果(bah)並不是由小至大排列,故回傳 1
解題思路
這一題就用兩個迴圈各別把字元取出來,並比較是否比上一個字元大(Java 中的字元可以直接比較),如果不是就將結果+1
程式碼
Java
class Solution {
public int minDeletionSize(String[] strs) {
int result = 0;
for (int i = 0, strLen = strs[0].length(); i < strLen; i++) {
char c = 0;
for (int j = 0, arrLen = strs.length; j < arrLen; j++) {
if (strs[j].charAt(i) < c) {
result++;
break;
}
c = strs[j].charAt(i);
}
}
return result;
}
}