刪列造序之省存的遞迴解法

2021-10-06 17:03:30 字數 852 閱讀 4907

給定由 n 個小寫字母字串組成的陣列 a,其中每個字串長度相等。

你需要選出一組要刪掉的列 d,對 a 執行刪除操作,使 a 中剩餘的每一列都是 非降序 排列的,然後請你返回 d.length 的最小可能值。

刪除 操作的定義是:選出一組要刪掉的列,刪去 a 中對應列中的所有字元,形式上,第 n 列為 [a[0][n], a[1][n], …, a[a.length-1][n]])。(可以參見 刪除操作範例)

例子:輸入:[「cba」, 「daf」, 「ghi」]

輸出:1

解釋:當選擇 d = ,刪除後 a 的列為:[「c」,「d」,「g」] 和 [「a」,「f」,「i」],均為非降序排列。

若選擇 d = {},那麼 a 的列 [「b」,「a」,「h」] 就不是非降序排列了。

**:

class

solution

:def

mindeletionsize

(self, a: list[

str])-

>

int:

defdg

(self,a,l)

:if l==-1

:return

0for i in

range

(len

(a)-1)

:if a[i]

[l]>a[i+1]

[l]:

return dg(self,a,l-1)

+1break

return dg(self,a,l-1)

return dg(self,a,

len(a[0]

)-1)

刪列造序python

給定由n個小寫字母字串組成的陣列a,其中每個字串長度相等。選取乙個刪除索引序列,對於a中的每個字串,刪除對應每個索引處的字元。假設,我們選擇了一組刪除索引d,那麼在執行刪除操作之後,最終得到的陣列的行中的每個元素都是按字典序排列的。比如,有a babca bbazb 刪除索引序列,刪除後a為 bc ...

944 刪列造序

給你由n個小寫字母字串組成的陣列strs,其中每個字串長度相等。這些字串可以每個一行,排成乙個網格。例如,strs abc bce cae 可以排列為 abc bcecae你需要找出並刪除不是按字典序公升序排列的列。在上面的例子 下標從 0 開始 中,列 0 a b c 和列 2 c e e 都是按...

955 刪列造序 II

給定由n個小寫字母字串組成的陣列a,其中每個字串長度相等。選取乙個刪除索引序列,對於a中的每個字串,刪除對應每個索引處的字元。比如,有a abcdef uvwxyz 刪除索引序列,刪除後a為 bef vyz 假設,我們選擇了一組刪除索引d,那麼在執行刪除操作之後,最終得到的陣列的元素是按字典序 a ...