方法一:模拟法
class Solution:
def numberOfLines(self, widths: List[int], s: str) -> List[int]:
lines = 1
sum = 0
for each in s:
need = widths[ord(each)-ord('a')]
sum += need
if sum > 100:
lines += 1
sum = need #从使和第一次大于100的数开始加
return [lines,sum]
class Solution:
def numberOfLines(self, widths: List[int], s: str) -> List[int]:
sum = 0 #和
n = 0 #行数
k = 0 #下标
while k < len(s):
sum += widths[ord(s[k])-ord('a')]
k += 1
if sum > 100:
n += 1
k -= 1
sum = 0
if sum != 0:
n += 1
return [n,sum]