代码拉取完成,页面将自动刷新
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class _68 {
static class Solution {
public List<String> fullJustify(String[] words, int maxWidth) {
//1. space的数量至少为 x = 单词数 -1;
//2. 处理多余的空格
//第 n个空格数 =( 剩余的空格 % x >= n ? 1 : 0 ) + 剩余的空格/x;
int wordCount = 0;
int curNum = 0;
List<String> res = new ArrayList<>();
int i = 0;
while (curNum > 0 || i < words.length) {
if ((i >= words.length && curNum > 0) || words[i].length() + curNum + wordCount > maxWidth) {
int reamin = maxWidth - curNum;
StringBuilder sb = new StringBuilder();
int j = 0;
for (j = i - wordCount; j < i - 1; j++) {
//二目运算符要注意优先级
int curSpace = (maxWidth - curNum) / (wordCount - 1) + ((maxWidth - curNum) % (wordCount - 1) >= j - (i - wordCount) + 1 ? 1 : 0);
//如果是最后一个的话,空格只有一位
if (i == words.length) {
curSpace = 1;
}
reamin -= curSpace;
sb.append(words[j]);
char[] ch = new char[curSpace];
Arrays.fill(ch, ' ');
sb.append(ch);
}
sb.append(words[j]);
if (reamin > 0) {
char[] ch = new char[reamin];
Arrays.fill(ch, ' ');
sb.append(ch);
}
res.add(sb.toString());
wordCount = 0;
curNum = 0;
} else {
wordCount++;
curNum += words[i].length();
i++;
}
}
return res;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。