题目
代码
class Solution:
def numberOfLines(self, widths: List[int], s: str) -> List[int]:
char="abcdefghijklmnopqrstuvwxyz"
dic=dict()
for key,value in zip(char,widths):
dic[key]=value
#每行最多100个字符
cnt=0
line=0
for item in s:
if cnt+dic[item]<100:
cnt+=dic[item]
elif cnt+dic[item]==100:
line+=1
cnt=0
else:
line+=1
cnt=dic[item]
if cnt:
line+=1
else:
cnt=100
return [line,cnt]
【写法2】
class Solution:
def numberOfLines(self, widths: List[int], s: str) -> List[int]:
cnt=0
line=0
for item in s:
temp=widths[ord(item)-ord('a')]
if cnt+temp<100:
cnt+=temp
elif cnt+temp==100:
line+=1
cnt=0
else:
line+=1
cnt=temp
if cnt:
line+=1
else:
cnt=100
return [line,cnt]
【写法3】
class Solution:
def numberOfLines(self, widths: List[int], s: str) -> List[int]:
cnt=0
line=1
for item in s:
temp=widths[ord(item)-ord('a')]
cnt+=temp
if cnt>100:
line+=1
cnt=temp
return [line,