当前位置: 首页 > 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.khdw.cn/news/62767.html

相关文章:

  • 社会团体网站备案公司的公关
  • 扁平化企业网站模板重庆企业站seo
  • 惠州附近公司做网站建设多少钱怎么自己做网站
  • 陈铭生个人资料简介百度快照优化培训班
  • 实训小结网站建设企业网络推广方案
  • 中国特种做业人员备案考核是什么网站百度seo收费
  • 信息技术网站开发阿里指数怎么没有了
  • 做网站需要准备资料网站外链购买
  • 青海 网站开发 app企业网站推广策略
  • 资源网站很难做百度平台
  • 婚庆网站开发背景企业官网
  • 怎么找网红推广自己的店岳阳seo
  • 修改wordpress主页标题莆田百度快照优化
  • 优秀的电商设计网站有哪些内容如何获取热搜关键词
  • 这个域名的网站做违法的事西安优化外包
  • 深圳网站建设公司全网营销式网站
  • 阜阳做网站公司域名搜索引擎
  • 公司做网站选择哪个公司好app推广赚钱
  • 12306网站如何做解绑网站建设平台软件
  • 贺州网站制作计算机培训机构
  • 武汉免费做网站搜什么关键词能找到网站
  • 自媒体横行还有做网站武汉网站制作推广
  • 电子商务网站建设期末试题及答案网站如何优化流程
  • 音乐网站开发模板站长全网指数查询
  • 竞网做的网站sem seo
  • 穷游网站 做行程 封面营销推广的特点是
  • 有哪些企业会找人做网站建设爱站网络挖掘词
  • 网站建设中的多语言翻译如何实现快速提升网站关键词排名
  • 公司设计网站需要包含什么资料搜索引擎调词软件
  • 网站建设的分析淄博做网站的公司