本文共 638 字,大约阅读时间需要 2 分钟。
给定由
N
个小写字母字符串组成的数组A
,其中每个字符串长度相等。选取一个删除索引序列,对于
A
中的每个字符串,删除对应每个索引处的字符。 所余下的字符串行从上往下读形成列。
比如,有
A = ["abcdef", "uvwxyz"]
,删除索引序列{0, 2, 3}
,删除后A
为["bef", "vyz"]
,A
的列分别为
["b","v"], ["e","y"], ["f","z"]
。(形式上,第 n 列为[A[0][n], A[1][n], ..., A[A.length-1][n]]
)。假设,我们选择了一组删除索引
D
,那么在执行删除操作之后,A
中所剩余的每一列都必须是 非降序 排列的,然后请你返回
D.length
的最小可能值。
public int minDeletionSize(String[] A) { // 先对输入数组进行判断 if (A == null || A.length == 0) return 0; if (A.length == 1) return 0; int len = A[0].length(); // 每个字符串的长度 int delIdx = 0; // 删除序列 for (int i=0; iA[j].charAt(i)) { delIdx++; break; } } } return delIdx; }
转载地址:http://jcpoi.baihongyu.com/