text 两端对齐 小程序_leetcode 68 文本左右对齐

6bed07e3548e5ae998b64c3808546abc.png

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

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

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

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

说明:

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

示例:

输入:
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                  "
]
#
# @lc app=leetcode.cn id=68 lang=python3
#
# [68] 文本左右对齐
## @lc code=start
class Solution:def fullJustify(self, words: List[str], maxWidth: int) -> List[str]:n = len(words)start, end = 0, n-1row = 0ans = [[' ' for _ in range(maxWidth)] for _ in range(n)]while(start<n):total = 0num = 0pos = startwhile(pos<n):flag=Falseif total + len(words[pos]) + num>maxWidth:flag=Truebreaktotal+=len(words[pos])num+=1pos+=1if flag:total=maxWidth-totalspace,r=divmod(total,max(1,num-1))pp=0for i in range(start,start+num):ans[row][pp:pp+len(words[i])] = words[i]pp=pp+len(words[i])+spaceif r>0:pp+=1r-=1else:pp=0for i in range(start,start+num):ans[row][pp:pp+len(words[i])] = words[i]pp=pp+len(words[i])+1breakstart = posrow+=1tmp = []for i in range(row+1):tmp.append(''.join(ans[i]))return tmp# @lc code=end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

for循环如果先--_乐字节Java循环:循环控制和嵌套循环

乐字节小乐上次讲完了Java反射&#xff0c;接下来小乐给大家讲述Java循环。循环有以下四部分&#xff1a;Java循环一、循环控制1. do..while直到型 ( 先执行后判断) &#xff0c;结构为:先执行循环体&#xff0c;后判断布尔表达式。循环体至少执行一次其流程图如下:2. for灵活的…

input框传值是怎么才能是整形_做了这些项目,到底多久才能化妆?

要说变美有两招最好用&#xff1a;一是化妆&#xff0c;二是整形。化妆能让长相普通的妹子变个大美妞&#xff0c;但程序繁琐的很&#xff0c;手残宝宝都表示好心累。整形就不一样了&#xff0c;不用左一层右一层的涂粉底神马的&#xff0c;绝对是手残党的福利&#xff0c;最最…

html纵向固定导航菜单代码,jQuery和css3响应式垂直固定导航菜单插件

这是一款非常实用的jQuery和css3响应式垂直固定导航菜单插件。当你的页面上有很多的内容&#xff0c;用户需要花费大量的时间才能找到他们想要的内容。这个垂直固定导航菜单插件能够为页面提供一个内容预览&#xff0c;使用户能非常轻松的找到他们需要的内容。HTML结构导航菜单…

单点登录 cas 设置回调地址_单点登录落地实现技术有哪些,有哪些流行的登录方案搭配?...

实现单点登录说到底就是要解决如何产生和存储那个信任&#xff0c;再就是其他系统如何验证这个信任的有效性&#xff0c;因此要点也就以下两个&#xff1a;1、存储信任 &#xff1b;2、服务器生产~验证信任 &#xff1b; 3、拿到服务器再次验证。单点登录的常见落地实现技术有哪…

python 长度queue_python:常见的数据结构

​ Python中常见的数据结构可以统称为容器。序列&#xff08;如列表和元组&#xff09;、映射&#xff08;如字典&#xff09;以及集合&#xff08;set&#xff09;是三类主要的容器。线性数据结构分类&#xff1a;栈(stack)--先进后出、 队列(queue)-先进先出、双端队列(deque…

纯java pdf转换成html,java pdf转换html代码

java pdf转换html代码[2021-02-03 00:56:42] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a…

tina中信号带宽_如何评测示波器带宽

示波器最重要的单一特性&#xff0c;即带宽在频率域提供范围标示。带宽以Hz衡量&#xff0c;根据频率决定信号范围&#xff0c;以便能精确显示及进行测试。带宽不足&#xff0c;则示波器将不能显示出实际信号的准确表现。例如&#xff0c;信号的幅度也许会不准确、边缘也许会不…

esc指令检查打印状态_【行业知识分享】八千字解读ESC系统

汽车电子稳定控制系统ESC(Electronic StabilityController)是一个主动安全控制系统&#xff0c;通过传感器监控车辆自身行驶状态&#xff0c;在车辆紧急躲避障碍物、转弯等容易出现不稳定状况时&#xff0c;以及在转向过度或转向不足情况下&#xff0c;利用动力系统干预及制动系…

c语言中文网 vc++6.0下载量_【新手必看】C语言开发环境,请查收!

C语言开发环境的选择&#xff0c;貌似是告诉我们&#xff0c;工欲善其事&#xff0c;必先利其器。01、Visual StudioVisual Studio&#xff08;简称 VS&#xff09;&#xff0c;它是 Windows 下的标准 IDE&#xff0c;VS系列为IDE&#xff08;集成开发环境&#xff09;&#xf…

hssfworkbook.write 生成文件 数据丢失_电脑文件丢失了,数据恢复我只用这一个软件!...

电脑使用久了&#xff0c;遇到硬盘数据丢失或者误删乃是常见之事。所以这样的事情发生之时&#xff0c;最重要的是找到一个明智的解决方法&#xff0c;切忌浮躁&#xff0c;一个不小心&#xff0c;可能造成更严重的后果。据不完全统计&#xff0c;当电脑文件丢失后&#xff0c;…

html如何让图片跟字体重叠,CSS设置图片与文字的间距

【实例介绍】CSS设置图片与文字的间距希望图片本身与文字有一定的距离只需要给标记添加margin属性即可。margin属性包括margin&#xff0e;top、margin-right&#xff0c;margin-bottom、margin—left、margin。属性margin可以用来同时设置图片的四边外边距&#xff0c;而其他的…

查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数&#xff0c;并且各自定义了自己的internal_do_calculation()的实现&#xff0c;你会想当然的认为他们各自不影响&#xff0c;libgetthree和libgetseven会分别用自己的internal_do_ca…

华为新系统鸿蒙能互通吗,「连接」万物的鸿蒙,能拯救华为手机吗?

为 IoT 而生的鸿蒙操作系统&#xff0c;其优势与特点几乎都是围绕「万物互联」展开的。在曝光两年之后&#xff0c;华为的鸿蒙系统终于正式和用户见面了。6 月 2 日&#xff0c;华为鸿蒙操作系统及华为全场景新品发布会开启&#xff0c;正式推出 HarmonyOS 2.0&#xff0c;并发…

dw中html颜色的设置颜色代码,Dreamweaver 如何编辑字体大小颜色

以下为学做网站论坛关于“Dreamweaver 如何编辑字体大小颜色”讲解视频教程。dreamweaver是个可视化的软件&#xff0c;你直接选中你要更改的设置&#xff0c;在编辑器中直接就可以更改了。或是用CSS也可以设置你说的那些内容字体大小、颜色样式。dreamweaver编辑字体大小、颜色…

html 图片position,【图解CSS#Position】

关于CSS position&#xff0c;来自MDN的描述&#xff1a;CSS position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left 属性则决定了该元素的最终位置。先看一个图片&#xff1a;child没设置position的样式代码如下&#xff1a;child1-1child1-2child1-3chi…

佳能g3800故障灯说明书_佳能打印机故障如何维修 佳能打印机故障维修方法【介绍】...

在现代办公中是离不开打印机的&#xff0c;一些办公文件都是需要用它来打印的&#xff0c;也因此在办公中的地位是很重要的。也正因此它要是出现了故障&#xff0c;会给我们带来很大的麻烦&#xff0c;很是影响工作进度。佳能是很知名的&#xff0c;即使是这样&#xff0c;它在…

ll微信2下载安装_【兰苑文学】:陈振 ll黄金槐

作者简介陈振&#xff0c;新余市作协会员&#xff0c;江西省优秀乡村教师&#xff0c;中国网络诗歌学会会员。作品见于《诗选刊》《诗歌月刊》《诗潮》《鸭绿江》《诗人》《作家报》《长江诗歌》《海口日报》印尼《千岛日报》和《2018江西诗歌年选》《中国民间短诗精选》《中国…

无法扩展该卷 因为群集的数量将超过文件系统_浏览器将支持Python项目!Mozilla发布Pyodide...

作者&#xff5c;Michael Droettboom 编译&#xff5c;王强、覃云 近日&#xff0c;Mozilla 发布了一个实验项目 Pyodide&#xff0c;旨在浏览器内运行一个完整的 Python 数据科学堆栈。链接&#xff1a;https://github.com/iodide-project/pyodide/Pyodide 的创意起源于 Mozil…

华锋e路航x10升级工具_万商云集:疫情下火爆的电子合同,背后是企业数字化升级的必然...

近年来&#xff0c;数字经济快速发展成为中国经济发展的新动能&#xff0c;作为企业数字化转型中非常重要的一环&#xff0c;电子合同也随着产业数字化程度的加深快速渗透到各行各业&#xff0c;万商云集早在去年年底就已经正式拥抱电子合同&#xff0c;助力客户实现数字化升级…

edge播放视频HTML5黑屏,Win10 edge浏览器播放视频黑屏解决方法

Edge看不了视频怎么办呢? 出现这样的问题是由于Edge浏览器中需要点击允许才能看视频&#xff0c;但如果不弹出提示窗口我们就无法正常观看视频&#xff0c;所以当我们遇到这样的情况可以按下面方法进行操作!Edge看不了视频解决步骤&#xff1a;1、按下winR 组合键打开运行&…