a**********0 发帖数: 422 | 1 感觉我已经达到题目要求了 为什么测试无法通过呢 有人有类似的疑惑吗 |
y***n 发帖数: 1594 | |
a**********0 发帖数: 422 | 3 我觉得我要么理解错误 要么他的测试数据 case 什么的不太严格 但是不敢确定 所以
想问问有人有类似哦问题吗 做完这个题我就刷完了 感觉这个题特别繁琐
【在 y***n 的大作中提到】 : 上面不都写了多少人通过了吗?
|
n**********s 发帖数: 9 | 4 看看你漏了什么
public class Solution {
public ArrayList fullJustify(String[] words, int L) {
ArrayList result=new ArrayList();
ArrayList currentLine=new ArrayList();
int i=0;
while(i
currentLine=new ArrayList();
int len=0;
int wordLength=0;
int wordCount=0;
do {
len+=words[i].length()+1;
wordLength+=words[i].length();
currentLine.add(words[i]);
wordCount++;
i++;
} while(i
len--;
boolean lastLine=false;
if(i>=words.length) lastLine=true;
StringBuilder line=new StringBuilder();
if(wordCount==1) {
line.append(currentLine.get(0));
} else {
int spaces1=(L-wordLength) % (wordCount-1);
int spaces2=(L-wordLength)/(wordCount-1);
for(int j=0;j
line.append(currentLine.get(j));
if(j==wordCount-1) break;
if(!lastLine) {
for(int k=0;k
line.append(" ");
}
if(spaces1>0) {
line.append(" ");
spaces1--;
}
}
else {
line.append(" ");
}
}
}
for(int j=line.length();j
line.append(" ");
}
result.add(line.toString());
}
return result;
}
} |
a**********0 发帖数: 422 | 5 我用自己的代码也通过的 但是我觉得题目叙述有问题 test case也有我不太赞同的
比如如果每行只有一个词 就无法做到既left 又 right justify
我刚开始就stuck在这里
根据test case 题目的意思是 如果每行只有一个词 那就 left justify 右边仍然需要
pad spaces
【在 n**********s 的大作中提到】 : 看看你漏了什么 : public class Solution { : public ArrayList fullJustify(String[] words, int L) { : ArrayList result=new ArrayList(); : ArrayList currentLine=new ArrayList(); : int i=0; : while(i: currentLine=new ArrayList(); : int len=0; : int wordLength=0;
|
a**********0 发帖数: 422 | 6 换句话说 根据某些输入 不一定可以做到同时left和right justify : 每行只有一个
词 而这个词的长度比L小的时候 |