zoukankan      html  css  js  c++  java
  • 【leetcode】944. Delete Columns to Make Sorted

    题目如下:

    We are given an array A of N lowercase letter strings, all of the same length.

    Now, we may choose any set of deletion indices, and for each string, we delete all the characters in those indices.

    For example, if we have a string "abcdef" and deletion indices {0, 2, 3}, then the final string after deletion is "bef".

    Suppose we chose a set of deletion indices D such that after deletions, each remaining column in A is in non-decreasing sorted order.

    Formally, the c-th column is [A[0][c], A[1][c], ..., A[A.length-1][c]]

    Return the minimum possible value of D.length.

    Example 1:

    Input: ["cba","daf","ghi"]
    Output: 1
    

    Example 2:

    Input: ["a","b"]
    Output: 0
    

    Example 3:

    Input: ["zyx","wvu","tsr"]
    Output: 3

    Note:

    1. 1 <= A.length <= 100
    2. 1 <= A[i].length <= 1000

    解题思路:如果不考虑时间复杂度,那么这题的级别应该是Easy,而不是Medium。O(n^2)的方法也很简单,遍历每一组序列,如果不满足递增则要删除这一组。

    代码如下:

    class Solution(object):
        def minDeletionSize(self, A):
            """
            :type A: List[str]
            :rtype: int
            """
            for i in range(len(A)):
                A[i] += '{'
            res = 0
            for j in range(len(A[0])):
                for i in range(len(A)-1):
                    if A[i][j] > A[i+1][j]:
                        res += 1
                        break
            return res
  • 相关阅读:
    5. support vector machine
    机器学习实战(二)决策树
    机器学习实战(一)kNN
    深度学习笔记(无)VGG14
    深度学习笔记(一)线性分类器(基础知识)
    Eclipse代码风格
    windows安装java环境
    linux matlab2013b 安装教程
    小白Linux入门 五
    机器学习 0
  • 原文地址:https://www.cnblogs.com/seyjs/p/9982856.html
Copyright © 2011-2022 走看看