LeetCode/LintCode 题解丨一周爆刷字符串:文字并排

描述

给定一个单词数组和一个宽度maxWidth,格式化文本,使每行具有刚好maxWidth个字符并完全(左和右)对齐。

你应该用贪心法打包你的单词; 也就是说,在每行中包含尽可能多的单词。 必要时填充额外的空格,以便每行具有正确的maxWidth字符。

单词之间的额外空格应尽可能均匀分布。
如果一行上的空格数不均匀分配,则左侧的空插槽将分配比右侧插槽更多的空格。

对于最后一行文本,它应该是左对齐的,并且在单词之间不插入额外的空格。

  • 单词定义为仅由非空格字符组成的字符序列。
  • 每个单词的长度保证大于0且不超过maxWidth。
  • 输入数组words至少包含一个单词。

点击查看 LeetCode/LintCode 题解丨一周爆刷字符串:文字并排

样例
样例 1:

输入:
words = ["This", "is", "an", "example", "of", "text", "justification."]
maxWidth = 16
输出:
[
   "This    is    an",
   "example  of text",
   "justification.  "
]

样例 2:

输入:
words = ["What","must","be","acknowledgment","shall","be"]
maxWidth = 16
输出:
[
  "What   must   be",
  "acknowledgment  ",
  "shall be        "
]
说明:请注意,最后一行是 "shall be    " 而不是 "shall     be",
              因为最后一行必须左对齐而不是完全对齐。
              请注意,第二行也是左对齐的,因为它只包含一个单词。

样例 3:

输入:
words = ["Science","is","what","we","understand","well","enough","to","explain",
         "to","a","computer.","Art","is","everything","else","we","do"]
maxWidth = 20
输出:
[
  "Science  is  what we",
  "understand      well",
  "enough to explain to",
  "a  computer.  Art is",
  "everything  else  we",
  "do                  "
]

点击查看更多字符串题集及解题思路
LeetCode/LintCode 题解丨一周爆刷字符串:神奇字符串
LeetCode/LintCode 题解丨一周爆刷字符串:查找和替换模式

点击查看更多双指针题集及解题思路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值