leetcode 944. 刪除列以使之有序(java)

sayWhat_sayHello發表於2018-11-26

題目

https://leetcode-cn.com/problems/delete-columns-to-make-sorted/description/

思路

理解題意之後我們把字串陣列寫為豎的進行分析:
cba
daf
ghi

c->d->g 沒問題 b -> a -> h不符合 a->f->i 沒問題,所以答案為1;

zyx
wvu
tsr
同理,z w t 不符合 y v s / x u r也不符合,所以答案為3;

貪心策略就是把所有不符合升序的這一列刪除。

程式碼

class Solution {
    public int minDeletionSize(String[] A) {
        if(A == null || A.length == 0) return 0;
        //所有小寫字母串的長度都相同
        int count = 0;
        for(int i = 0;i < A[0].length();i++){
            for(int j = 0;j < A.length - 1;j++){
                if(A[j].charAt(i) > A[j+1].charAt(i)){
                    count++;
                    break;
                } 
            }            
        }
        
        return  count;
    }
}

題後總結

這題有限定說長度是一樣的所以是一道水題,如果不限定長度,大家不妨思考一下怎麼做。

相關文章