上QQ阅读APP看书,第一时间看更新
例26 字符串写入的行数
1.问题描述
把字符串S中的字符从左到右写入行中,每行最大宽度为100,如果往后新写一个字符导致该行宽度超过100,则写入下一行。
其中,一个字符的宽度由一个给定数组widths决定,widths[0]是字符a的宽度,widths[1]是字符b的宽度,…,widths[25]是字符z的宽度。
把字符串S全部写完,至少需要多少行?最后一行用去的宽度是多少?将结果作为整数列表返回。
2.问题示例
输入:
widths=[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
S="abcdefghijklmnopqrstuvwxyz"
输出:[3,60]
每个字符的宽度都是10,为了把这26个字符都写进去,需要两个整行和一个长度60的行。
3.代码实现
4.运行结果
输入字符宽度:[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
输入的字符串:abcdefghijklmnopqrstuvwxyz
输出:[3,60]