当前位置: 首页 > news >正文

网站活动策划方案乐平网站建设咨询

网站活动策划方案,乐平网站建设咨询,贵阳企业网站建设,哈尔滨做网站哪里好目录 1.题目2.答案3.提交结果截图 链接: 文本左右对齐 1.题目 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单…

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 文本左右对齐

1.题目

给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。

你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。

要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。

文本的最后一行应为左对齐,且单词之间不插入额外的空格。

注意:

  • 单词是指由非空格字符组成的字符序列。
  • 每个单词的长度大于 0,小于等于 maxWidth
  • 输入单词数组 words 至少包含一个单词。

示例 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                  "
]

提示:

  • 1 <= words.length <= 300
  • 1 <= words[i].length <= 20
  • words[i] 由小写英文字母和符号组成
  • 1 <= maxWidth <= 100
  • words[i].length <= maxWidth

2.答案

class Solution {public List<String> fullJustify(String[] words, int maxWidth) {if (words.length == 1) {int leftSpaceNum = maxWidth - words[0].length();char[] leftSpaces = new char[leftSpaceNum];Arrays.fill(leftSpaces, ' ');return Collections.singletonList(words[0] + new String(leftSpaces));}List<String> lines = new ArrayList<>();int i = 1;int length = words[0].length();List<String> lineWords = new ArrayList<>();lineWords.add(words[0]);while (i < words.length) {if (length + 1 + words[i].length() <= maxWidth) {// 记录每行的单词lineWords.add(words[i]);length = length + 1 + words[i++].length();} else {// 已经记满一行String line = wordsToLine(lineWords, maxWidth, false);lines.add(line);lineWords.clear();lineWords.add(words[i]);length = words[i++].length();}}String line = wordsToLine(lineWords, maxWidth, true);lines.add(line);return lines;}/*** 将单词转化为一行* @param lineWords* @return*/private String wordsToLine(List<String> lineWords, int maxWidth, boolean isLastLine) {assert lineWords.size() >= 1;int wordsLength = lineWords.stream().mapToInt(String::length).sum();if (!isLastLine && lineWords.size() > 1) {// 非最后一行// 计算每个间隔空格int eachSpaceNum = (maxWidth - wordsLength) / (lineWords.size() - 1);char[] eachSpaces = new char[eachSpaceNum];Arrays.fill(eachSpaces, ' ');String eachSpaceStr = String.valueOf(eachSpaces);// 计算第一个间隔额外空格数int leftSpaceNum = (maxWidth - wordsLength) % (lineWords.size() - 1);StringBuilder builder = new StringBuilder();for (int i = 0; i < lineWords.size(); i++) {builder.append(lineWords.get(i));if (i != lineWords.size() - 1) {builder.append(eachSpaceStr);if (leftSpaceNum > 0) {builder.append(" ");leftSpaceNum--;}}}return builder.toString();} else {// 最后一行,左对齐即可StringBuilder builder = new StringBuilder();for (int i = 0; i < lineWords.size(); i++) {builder.append(lineWords.get(i));if (i != lineWords.size() - 1) {builder.append(" ");}}int leftSpaceNum = maxWidth - wordsLength - (lineWords.size() - 1);char[] leftSpaces = new char[leftSpaceNum];Arrays.fill(leftSpaces, ' ');builder.append(new String(leftSpaces));return builder.toString();}}
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

http://www.yayakq.cn/news/959989/

相关文章:

  • 商务网站营销推广方式wordpress加载评论很慢
  • 崇仁网站建设推广wordpress角色管理
  • 手机网站建设信息莱芜金点子电子版报纸
  • 东莞h5网站建设网站备案变更主体
  • 对外贸营销型网站建设的几点建议织梦网站模版怎么用
  • 网站顶端flash手机网站开发入门
  • 邯郸企业建站系统管理平台
  • 做网站须要什么技术怎么免费建立自己的网站平台
  • 长沙网站制作公司网站优化费用
  • 网站后台管理页面下载办公装修设计
  • 网站开发需要学习什么技术网站如何做品牌宣传
  • vultr宝塔wordpress什么是seo搜索
  • 网站技术有哪些win7 iis配置asp.net网站
  • 专门做推广的网站营销渠道策略有哪些
  • 专门做酒店网站大连中山网站建设
  • 1688网站建设与维护寻找做网站的
  • 相亲网站上做it的骗术设计类公司网站
  • 做网站树立品牌形象佛山市和城乡建设局网站首页
  • 企业网站建设开发注意事项广州定制网站建设
  • 响应式网站制作软件网站建设域名怎么收费的
  • 大型网站开发团队苏州注册公司代理公司
  • 德清县新巿镇城市建设网站互动网站建设特点
  • 深圳坑梓网站建设一个空间放2个wordpress
  • 什么是网站组件微商各种软件拿码渠道
  • 网站查外链网站建设知识平台
  • 一个网站制作流程办公室装修费用会计分录
  • 网站设计尺寸规范WordPress考试
  • 沈阳制作公司网站和app淘宝做网站的多少钱
  • 锡林浩特建设局网站网站做关键词
  • 成品型网站建设建立企业网站多少钱