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

day10(11.7)——leetcode面试经典150

68. 文本左右对齐​​​​​​

这道题好繁琐啊,我的思路是一个一个单词判断,每一个都加上两个单词之间的空格去看长度是否超过maxWidth,如果超过了,进行判断,只有一个单词或者到了最后一行,直接左对齐,后面填充空格,超过一个单词,进行计算每个单词之间的空格的个数,进行填充,一个一个累加,最后加入最终的结果列表。
但是真的一个不小心就容易写错......

68. 文本左右对齐

题目:

题解:

class Solution {public List<String> fullJustify(String[] words, int maxWidth) {List<String> result = new ArrayList<>();int n = words.length;int i = 0;while (i < n) {// 1. 找出当前行能放哪些单词 [i, j)int j = i;int lineLength = 0; // 只算单词长度,不算空格while (j < n && lineLength + words[j].length() + (j - i) <= maxWidth) {lineLength += words[j].length();j++;}// 2. 处理这一行int wordCount = j - i;int spaces = maxWidth - lineLength; // 总共要填充的空格数StringBuilder line = new StringBuilder();if (j == n || wordCount == 1) {// 最后一行 或 只有一个单词:左对齐for (int k = i; k < j; k++) {line.append(words[k]);if (k < j - 1) line.append(" ");}// 末尾补空格while (line.length() < maxWidth) {line.append(" ");}} else {// 中间行:两端对齐int avgSpaces = spaces / (wordCount - 1);int extraSpaces = spaces % (wordCount - 1);for (int k = i; k < j; k++) {line.append(words[k]);if (k < j - 1) {// 添加基础空格for (int s = 0; s < avgSpaces; s++) {line.append(" ");}// 前 extraSpaces 个间隙多加一个空格if (k - i < extraSpaces) {line.append(" ");}}}}result.add(line.toString());i = j; // 移动到下一行}return result;}
}

http://www.dtcms.com/a/582277.html

相关文章:

  • 特定网站开发个人主页网站设计
  • flink 1.20 物化表(Materialized Tables)
  • html网站建设流程图只做一页的网站多少钱
  • 百度上能收到的企业名称网站怎么做wordpress theme api
  • asp.net网站开发案例教程做图片模板
  • 大庆门户网站做外贸接私单的网站
  • 企业项目级医院随访系统源码,患者随访管理系统,技术框架:Java+Spring boot,Vue,Ant-Design+MySQL5
  • 上蔡网站建设WordPress导出静态网页
  • 成都网站制作怎么样设计企业网站内容
  • 互联网做网站地推WordPress全局屏蔽谷歌
  • RV1126 NO.40:OPENCV图形计算面积、弧长API讲解
  • 威海网站建设哪家好哪有个人免费云服务器
  • 【Redis】02 基本数据类型
  • Rust内存问题检测
  • 娄底市网站建设课程资源网站开发
  • 写 CSDN 文章的体会
  • Vibe Coding - 免费使用claude code 、gpt-5、grok-code-fast-1进行氛围编程
  • 【NOI】C++一维数组之数组计数法
  • flash xml网站wordpress 表单数据
  • 事业单位建立网站wordpress后台慢
  • 轴控功能块常用调用方法
  • 常用的电气元件详细介绍-11.7(1.5hour)
  • 【ZeroRange WebRTC 】STUN 在 WebRTC 中的角色与工作原理(深入指南)
  • 网站备案后需要年检吗系统更新
  • 怎么做收费网站宣传片制作公司排行
  • [Linux]学习笔记系列 -- [kernel]completion
  • 如何创建一个自己的Docker镜像(Dockerfile)
  • 从一个问题深入解析C++字符串处理中的栈损坏
  • 成都市做网站的公司建设网站的心得
  • 爱下手机站建设学院实验网站的作用