资讯专栏INFORMATION COLUMN

418. Sentence Screen Fitting

newtrek / 2284人阅读

摘要:下一行的开头是否是空格,如果是,删去如果开头不是空格,检查上一行最末尾是否是空格如果不是空格,一个单词被分开到上下两行,不符合题目要求。在末尾增加空格,把单词完整的移到一下行的开头

Note:

1. A word cannot be split into two lines.
2. The order of words in the sentence must remain unchanged.
3. Two consecutive words in a line must be separated by a single space.
4. Total words in the sentence won"t exceed 100.
5. Length of each word is greater than 0 and won"t exceed 10.
6. 1 ≤ rows, cols ≤ 20,000.
public class Solution {
    public int wordsTyping(String[] sentence, int rows, int cols) {
        String s = String.join(" ", sentence) + " ";
        int start = 0, l = s.length();
        for(int i = 0; i < rows; i++){
            start += cols;
            // 下一行的开头是否是空格,如果是,删去
            if(s.charAt(start%l) == " "){
                start++;
            } else {
              // 如果开头不是空格,检查上一行最末尾是否是空格
              // 如果不是空格,一个单词被分开到上下两行,不符合题目要求。
              // 在末尾增加空格,把单词完整的移到一下行的开头
                while( start > 0 && s.charAt((start-1)%l) != " "){
                    start--;
                }
            }
        }
        return start/l;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70096.html

相关文章

  • python学习笔记 --- scikit-learn 学习 [1]

    摘要:详细讲解记录在传送门我在这里只是大概整理我使用过学习过的。这部分先放过,接下讲。这种特殊的策略也叫或是,完全忽略词在文中位置关系。具体在项目中是如下使用。使用技巧来适配大数据集,没用过,看上去很牛 Feature extraction 详细讲解记录在 传送门 我在这里只是大概整理我使用过学习过的api。 Loading features from dicts 这个方便提取数据特征,比如...

    dingding199389 评论0 收藏0
  • awk删除docker历史镜像

    摘要:初步列了以下方案用实现擅长,通过重定向将的输出传给,处理完后执行系统命令清除镜像。对镜像列表进行去重操作可以以镜像名称为进行去重获取历史镜像要保留最近个镜像清除历史镜像,其实就是保留数据前行,有个内置变量保存当前处理行编号。 背景 虽然对awk早有耳闻,据说是个很强大的工具,但一直没机会去了解和使用,最近碰到一个需求,用awk轻松解决,才真正一窥它的厉害。需求是这样的,应用每次升级都会...

    lentoo 评论0 收藏0
  • 结巴分词原理

    摘要:我来到北京清华大学对应的状态应该为其实和的区别就是对未成功切分的部分,没有使用进行分词。 介绍 结巴分词是一个受大家喜爱的分词库,源码地址为github,今天我们就跟进源码,看一下结巴分词的原理 原理 def cut(self, sentence, cut_all=False, HMM=True): The main function that...

    zzbo 评论0 收藏0

发表评论

0条评论

newtrek

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<