# 418 Sentence Screen Fitting

### Problem:

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. Total words in the sentence won't exceed 100. Length of each word is greater than 0 and won't exceed 10. 1 ≤ rows, cols ≤ 20,000. Example 1:

```
Input:
rows = 2, cols = 8, sentence = ["hello", "world"]

Output: 
1

Explanation:
hello---
world---

The character '-' signifies an empty space on the screen.
```

Example 2:

```
Input:
rows = 3, cols = 6, sentence = ["a", "bcd", "e"]

Output: 
2

Explanation:
a-bcd- 
e-a---
bcd-e-

The character '-' signifies an empty space on the screen.
```

Example 3:

```
Input:
rows = 4, cols = 5, sentence = ["I", "had", "apple", "pie"]

Output: 
1

Explanation:
I-had
apple
pie-I
had--

The character '-' signifies an empty space on the screen.
```

### Solutions:

```java
public class Solution {
    public int wordsTyping(String[] sentence, int rows, int cols) {
        int count = 0;
        int i = 0, j = 0;
        int k = 0;
        while (i < rows) {
            if (count != 0 && j == 0 && k == 0) {
                count = count * (rows / i);
                i = (rows / i) * i; 
            }
            if (k == sentence.length) {
                count ++;
                k = 0;
                continue;
            }
            if (sentence[k].length() + j > cols) {
                i ++;
                j = 0;
                continue;
            }
            else {
                j = sentence[k].length() + j + 1;
                k ++;
            }
        }
        return count;
    }
}
```

```java
public class Solution {
    public int wordsTyping(String[] sentence, int rows, int cols) {
        String s = "";
        for (int i = 0; i < sentence.length; i ++) {
            s += sentence[i] + " ";
        }
        int total = 0, len = s.length();
        for (int i = 0; i < rows; i ++) {
            total += cols;
            if (s.charAt(total % len) == ' ') {
                total ++;
            }
            else {
                while ((total % len) > 0 && s.charAt((total % len) - 1) != ' ') {
                    total --;
                }
            }
        }
        return total / len;
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ugopireddy.gitbook.io/leet-code-solutions/solutions-401-450/418-sentence-screen-fitting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
