Java经典算法:句子屏幕拟合

给定x cols行屏幕和由非空单词列表表示的句子,请查找给定句子可以在屏幕上显示的次数。
注意:
一个单词不能分为两行。
句子中的单词顺序必须保持不变。
一行中的两个连续单词必须用单个空格分隔。
Java解决方案
public int wordsTyping(String[] sentence, int rows, int cols) {
int i = 0;
int cnt = 0;

int k = 0;  //kth word
int colLen = cols;

while (i < rows) {
    String sen = sentence[k++];
    if (sen.length() > cols) {
        return 0;
    }

    if (colLen >= sen.length()) {
        colLen = colLen - sen.length() - 1;
    } else {
        i++;
        colLen = cols;
        colLen = colLen - sen.length() - 1;
    }

    if (i >= rows) {
        return cnt;
    }

    if (k == sentence.length) {
        cnt++;
        k = 0;
    }
}

return cnt;}

最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。
Java经典算法:句子屏幕拟合_第1张图片

你可能感兴趣的:(Java经典算法:句子屏幕拟合)