LeetCode 944. 刪除列以使之有序(C、C++、python)
阿新 • • 發佈:2018-12-02
給出由 N
個小寫字母串組成的陣列 A
,所有小寫字母串的長度都相同。
現在,我們可以選擇任何一組刪除索引,對於每個字串,我們將刪除這些索引中的所有字元。
舉個例子,如果字串為 "
abcdef
"
,且刪除索引是 {0, 2, 3}
,那麼刪除之後的最終字串為 "
bef
"
。
假設我們選擇了一組刪除索引 D
,在執行刪除操作之後,A
中剩餘的每一列都是有序的。
形式上,第 c
列為 [A[0][c], A[1][c], ..., A[A.length-1][c]]
返回 D.length
示例 1:
輸入:["cba","daf","ghi"] 輸出:1
示例 2:
輸入:["a","b"] 輸出:0
示例 3:
輸入:["zyx","wvu","tsr"] 輸出:3
提示:
1 <= A.length <= 100
1 <= A[i].length <= 1000
C
int minDeletionSize(char** A, int ASize) { int m=ASize; int n=strlen(A[0]); int count=0; for(int i=0;i<n;i++) { for(int j=1;j<m;j++) { if(A[j][i]<A[j-1][i]) { count++; break; } } } return count; }
C++
class Solution { public: int minDeletionSize(vector<string>& A) { int m=A.size(); int n=A[0].size(); int count=0; for(int i=0;i<n;i++) { for(int j=1;j<m;j++) { if(A[j][i]<A[j-1][i]) { count++; break; } } } return count; } };
python
class Solution:
def minDeletionSize(self, A):
"""
:type A: List[str]
:rtype: int
"""
m=len(A)
n=len(A[0])
count=0
for i in range(n):
for j in range(1,m):
if A[j][i]<A[j-1][i]:
count+=1
break
return count