File tree 1 file changed +39
-38
lines changed
scripts/algorithms/T/Text Justification
1 file changed +39
-38
lines changed Original file line number Diff line number Diff line change
1
+ // Runtime : 46 ms (Top 59.19 % ) | Memory : 14 MB (Top 55.27 % )
1
2
class Solution :
2
- def fullJustify (self , words : List [str ], maxwidth : int ) -> List [str ]:
3
- curr = 0
4
- last = []
5
- res = []
6
- for i in words :
7
- if curr + len (i ) + len (res ) <= maxwidth :
8
- curr += len (i )
9
- res .append (i )
10
- else :
11
- last .append (res )
12
- curr = len (i )
13
- res = [i ]
14
- last .append (res )
15
- ans = []
16
- for idx ,row in enumerate (last ):
17
- x = maxwidth - len ("" .join (row ))
18
- t = len (row )- 1
19
- if t == 0 :
20
- ans .append (row [0 ] + " " * (x ))
21
- elif idx != len (last )- 1 :
22
- spaces = x // t
23
- rem = x % t
24
- res = row [0 ]
25
- for i in row [1 :]:
26
- temp = spaces
27
- if rem :
28
- temp += 1
29
- rem -= 1
30
- res = res + " " * temp + i
31
- # print(res, temp)
32
- ans .append (res )
33
- else :
34
- res = row [0 ]
35
- for i in row [1 :]:
36
- res = res + ' ' + i
37
- res = res + " " * (maxwidth - len (res ))
38
- ans .append (res )
3
+ def fullJustify (self , words : List [str ], maxwidth : int ) -> List [str ]:
4
+ curr = 0
5
+ last = []
6
+ res = []
7
+ for i in words :
8
+ if curr + len (i ) + len (res ) <= maxwidth :
9
+ curr += len (i )
10
+ res .append (i )
11
+ else :
12
+ last .append (res )
13
+ curr = len (i )
14
+ res = [i ]
15
+ last .append (res )
16
+ ans = []
17
+ for idx ,row in enumerate (last ):
18
+ x = maxwidth - len ("" .join (row ))
19
+ t = len (row )- 1
20
+ if t == 0 :
21
+ ans .append (row [0 ] + " " * (x ))
22
+ elif idx != len (last )- 1 :
23
+ spaces = x // t
24
+ rem = x % t
25
+ res = row [0 ]
26
+ for i in row [1 :]:
27
+ temp = spaces
28
+ if rem :
29
+ temp += 1
30
+ rem -= 1
31
+ res = res + " " * temp + i
32
+ # print(res, temp)
33
+ ans .append (res )
34
+ else :
35
+ res = row [0 ]
36
+ for i in row [1 :]:
37
+ res = res + ' ' + i
38
+ res = res + " " * (maxwidth - len (res ))
39
+ ans .append (res )
39
40
40
- return ans
41
+ return ans
You can’t perform that action at this time.
0 commit comments