File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Time: O(n * m)
2
+ # Space: O(n)
3
+
4
+ class Solution (object ):
5
+ def minDeletionSize (self , A ):
6
+ """
7
+ :type A: List[str]
8
+ :rtype: int
9
+ """
10
+ result = 0
11
+ unsorted = set (range (len (A )- 1 ))
12
+ for j in xrange (len (A [0 ])):
13
+ if any (A [i ][j ] > A [i + 1 ][j ] for i in unsorted ):
14
+ result += 1
15
+ else :
16
+ unsorted -= set (i for i in unsorted if A [i ][j ] < A [i + 1 ][j ])
17
+ return result
18
+
19
+
20
+ # Time: O(n * m)
21
+ # Space: O(n)
22
+ class Solution2 (object ):
23
+ def minDeletionSize (self , A ):
24
+ """
25
+ :type A: List[str]
26
+ :rtype: int
27
+ """
28
+ result = 0
29
+ is_sorted = [False ]* (len (A )- 1 )
30
+ for j in xrange (len (A [0 ])):
31
+ tmp = is_sorted [:]
32
+ for i in xrange (len (A )- 1 ):
33
+ if A [i ][j ] > A [i + 1 ][j ] and tmp [i ] == False :
34
+ result += 1
35
+ break
36
+ if A [i ][j ] < A [i + 1 ][j ]:
37
+ tmp [i ] = True
38
+ else :
39
+ is_sorted = tmp
40
+ return result
You can’t perform that action at this time.
0 commit comments