删列造序

2024-03-20 11:38
文章标签 删列 造序

本文主要是介绍删列造序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

给定由 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; i<len; i++){for (int j=1; j<A.length; j++){if (A[j-1].charAt(i) > A[j].charAt(i)){delIdx++;break;}}}return delIdx;}

 

这篇关于删列造序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829336

相关文章

955. 删列造序 II;1838. 最高频元素的频数;1392. 最长快乐前缀

955. 删列造序 II 核心思想:我们可以按照一行一行排列strs,删除索引序列就代表删除某一列,那么我们如何判断一列是否应该删除呢,我们可以从反方向思考,应该保留那些列呢?从第一列开始,如果它不满足字典序肯定就不保存,如果它加上后面的列依旧满足的话就保存,反之判断下一列。即后面的某些列加起来如果满足字典序,如果前面有一列满足字典序加上这列肯定也是满足的。 1838. 最高频元素的频数

【动态规划】【逆向思考】【C++算法】960. 删列造序 III

作者推荐 【动态规划】【map】【C++算法】1289. 下降路径最小和 II 本文涉及知识点 动态规划汇总 LeetCode960. 删列造序 III 给定由 n 个小写字母字符串组成的数组 strs ,其中每个字符串长度相等。 选取一个删除索引序列,对于 strs 中的每个字符串,删除对应每个索引处的字符。 比如,有 strs = [“abcdef”,“uvwxyz”] ,删除索引序