[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;
    }
}