{ "question_id": 68, "question_title": "文本左右对齐", "difficulty": "困难", "question_content": "
给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。
\n\n你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' '
填充,使得每行恰好有 maxWidth 个字符。\n
要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。
\n\n文本的最后一行应为左对齐,且单词之间不插入额外的空格。
\n\n说明:
\n\nwords
至少包含一个单词。示例:
\n\n输入:\n words = [\"This\", \"is\", \"an\", \"example\", \"of\", \"text\", \"justification.\"]\n maxWidth = 16\n输出:\n [\n \"This is an\",\n \"example of text\",\n \"justification. \"\n ]\n\n\n
示例 2:
\n\n输入:\n words = [\"What\",\"must\",\"be\",\"acknowledgment\",\"shall\",\"be\"]\n maxWidth = 16\n输出:\n [\n \"What must be\",\n \"acknowledgment \",\n \"shall be \"\n ]\n解释: 注意最后一行的格式应为 \"shall be \" 而不是 \"shall be\"\n 因为最后一行应为左对齐,而不是左右两端对齐,第二行同样为左对齐,这是因为这行只包含一个单词。\n\n\n
示例 3:
\n\n输入:\n words = [\"Science\",\"is\",\"what\",\"we\",\"understand\",\"well\",\"enough\",\"to\",\"explain\",\n \"to\",\"a\",\"computer.\",\"Art\",\"is\",\"everything\",\"else\",\"we\",\"do\"]\n maxWidth = 20\n输出:\n [\n \"Science is what we\",\n \"understand well\",\n \"enough to explain to\",\n \"a computer. Art is\",\n \"everything else we\",\n \"do \"\n ]\n\n