![LeetCode 806 写字符串需要的行数[模拟] HERODING的LeetCode之路,第1张 LeetCode 806 写字符串需要的行数[模拟] HERODING的LeetCode之路,第1张](/aiimages/LeetCode+806+%E5%86%99%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%9C%80%E8%A6%81%E7%9A%84%E8%A1%8C%E6%95%B0%5B%E6%A8%A1%E6%8B%9F%5D+HERODING%E7%9A%84LeetCode%E4%B9%8B%E8%B7%AF.png)
解题思路:
一道非常简单的模拟题,定义两个变量,一个控制行数,一个控制宽度,当宽度大于100的时候更新行数,并把当前超过的那个字母的宽度移到下一行,代码如下:
class Solution {
public:
vector<int> numberOfLines(vector<int>& widths, string s) {
int len = 1, wid = 0;
for(auto& c : s) {
int cur = widths[c - 'a'];
wid += cur;
if(wid > 100) {
len ++;
wid = cur;
}
}
return {len, wid};
}
};
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)