class Solution: # @param words, a list of strings # @param L, an integer # @return a list of strings def fullJustify(self, words, L): def gen(queue,num,blanks): line=[] if num==1: item=queue.pop() line=item+''.join([' ']*(L-len(item))) rst.append(line) return spare=blanks%(num-1) while queue: word=queue.popleft() space=blanks//(num-1)+1 if spare>0 else blanks//(num-1) spare-=1 if queue: line.append(word+''.join([' ']*space)) else: line.append(word) rst.append(''.join(line)) queue=collections.deque([]) rst=[] n=0 num=0 while words: if n+len(words[0])<=L: queue.append(words[0]) n+=len(words[0])+1 num+=1 words.pop(0) else: blanks=L-n+num if n<=L else num-1 gen(queue,num,blanks) num=0 n=0 line=' '.join(list(queue)) rst.append(line+''.join([' ']*(L-len(line)))) return rst
Friday, September 19, 2014
Leetcode: Text Justification @Python
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment