944. 刪列造序(Python)

更多精彩內(nèi)容,請關(guān)注【力扣簡單題】。

題目

難度:★★☆☆☆
類型:字符串

給定由 N 個小寫字母字符串組成的數(shù)組 A,其中每個字符串長度相等。

選取一個刪除索引序列,對于 A 中的每個字符串,刪除對應(yīng)每個索引處的字符。 所余下的字符串行從上往下讀形成列。

比如,有 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]])。

假設(shè),我們選擇了一組刪除索引 D,那么在執(zhí)行刪除操作之后,A 中所剩余的每一列都必須是 非降序 排列的,然后請你返回 D.length 的最小可能值。

提示
1 <= A.length <= 100
1 <= A[i].length <= 1000

示例

示例 1
輸入:["cba", "daf", "ghi"]
輸出:1
解釋:
當(dāng)選擇 D = {1},刪除后 A 的列為:["c","d","g"] 和 ["a","f","i"],均為非降序排列。
若選擇 D = {},那么 A 的列 ["b","a","h"] 就不是非降序排列了。

示例 2
輸入:["a", "b"]
輸出:0
解釋:D = {}

示例 3
輸入:["zyx", "wvu", "tsr"]
輸出:3
解釋:D = {0, 1, 2}

解答

這道題雖然題目看起來龐大,但是想表達(dá)的道理很簡單:

以例子1為例,有這樣一個表:

單詞 第一列 第二列 第三列
單詞1 c b a
單詞2 d a f
單詞3 g h i

要刪除表中一些列,這里刪除了第二列,獲得表:

單詞 第一列 第三列
單詞1 c a
單詞2 d f
單詞3 g i

這樣每一列都是非降序了。

可以觀察到,要刪除不是非降序的列即可實現(xiàn)任務(wù),通過統(tǒng)計表中不是非降序的列的總數(shù)即可。

因此我們可以逐列比較,比較當(dāng)前列排序前后是否一致,統(tǒng)計所有不一致的情況,即為所求。

class Solution:
    def minDeletionSize(self, A):
        """
        :type A: List[str]
        :rtype: int
        """
        res = 0
        for i in zip(*A):
            if list(i) != sorted(i):
                res += 1
        return res

緊湊寫法:

class Solution:
    def minDeletionSize(self, A):
        """
        :type A: List[str]
        :rtype: int
        """
        return sum([list(c) != sorted(c) for c in zip(*A)])

如有疑問或建議,歡迎評論區(qū)留言~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,693評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,310評論 0 10
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,913評論 0 9
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,658評論 0 4
  • 有人說,如果你愛一個人,送他去雨崩,歷經(jīng)磨難,患難與共之后,你們的愛沸騰燃燒。如果你恨一個人,送他去雨崩,臨近終點...
    瓢姐姐閱讀 949評論 0 0

友情鏈接更多精彩內(nèi)容