刪列造序python

2021-09-03 08:39:00 字數 1247 閱讀 4939

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

選取乙個刪除索引序列,對於a中的每個字串,刪除對應每個索引處的字元。

假設,我們選擇了一組刪除索引d,那麼在執行刪除操作之後,最終得到的陣列的行中的每個元素都是按字典序排列的。

比如,有a = ["babca","bbazb"],刪除索引序列,刪除後a["bc","az"]

清楚起見,a[0]是按字典序排列的(即,a[0][0] <= a[0][1] <= ... <= a[0][a[0].length - 1]),a[1]是按字典序排列的(即,a[1][0] <= a[1][1] <= ... <= a[1][a[1].length - 1]),依此類推。

請你返回d.length的最小可能值。

def mindeletionsize(a):

n=len(a)

m=len(a[0])

f=[0 for i in range(120)]

maxd=-1

for i in range(0,m):

f[i]=1

for j in range(0,i):###判斷第i個字母前是否都比第i個小

if smaller(j,i,a,n)

print(f[i],f[j],' ',end='')

f[i]=max(f[i],f[j]+1)

print(f[i])

maxd=max(maxd,f[i])

return m-maxd

def smaller(i,j,a,n):

for k in range(n):#將a陣列中每乙個元素中前乙個字母和後乙個字母相比較

if a[k][i]>a[k][j]:#如果前面的字母要大,則返回false

return false

return true

# a=['edcba']

a=['babca','bbazb']

# a=['ghi','def','abc']

index=mindeletionsize(a)

print(index)

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 ...

C Leetcode944 刪列造序

題目 給定由 n 個小寫字母字串組成的陣列 a,其中每個字串長度相等。選取乙個刪除索引序列,對於 a 中的每個字串,刪除對應每個索引處的字元。所餘下的字串行從上往下讀形成列。比如,有 a abcdef uvwxyz 刪除索引序列 刪除後 a 為 bef vyz a 的列分別為 b v e y f z...