Given a rows x cols screen and a sentence represented by a list of non-empty words, find how many times the given sentence can be fitted on the screen.
Note:
A word cannot be split into two lines.
The order of words in the sentence must remain unchanged.
Two consecutive words in a line must be separated by a single space.
Java Solution
public int wordsTyping(String[] sentence, int rows, int cols) { int i = 0; int cnt = 0; int k = 0; //kth word int colLen = cols; while (i < rows) { String sen = sentence[k++]; if (sen.length() > cols) { return 0; } if (colLen >= sen.length()) { colLen = colLen - sen.length() - 1; } else { i++; colLen = cols; colLen = colLen - sen.length() - 1; } if (i >= rows) { return cnt; } if (k == sentence.length) { cnt++; k = 0; } } return cnt; } |