题目
给你由 n
个小写字母字符串组成的数组 strs
,其中每个字符串长度相等。
这些字符串可以每个一行,排成一个网格。例如,strs = ["abc", "bce", "cae"]
可以排列为:
1 | abc |
你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0('a'
, 'b'
, 'c'
)和列 2('c'
, 'e'
, 'e'
)都是按升序排列的,而列 1('b'
, 'c'
, 'a'
)不是,所以要删除列 1 。
返回你需要删除的列数。
示例1:
1 | 输入:strs = ["cba","daf","ghi"] |
示例2:
1 | 输入:strs = ["a","b"] |
示例3:
1 | 输入:strs = ["zyx","wvu","tsr"] |
提示:
n == strs.length
1 <= n <= 100
1 <= strs[i].length <= 1000
strs[i]
由小写英文字母组成
解法
解法一:
对于每一列,我们检查它是否是有序的。如果它有序,则将答案增加 1,否则它必须被删除。
JAVA
1 | public int minDeletionSize(String[] A) { |