LeetCode-in-Java

2114. Maximum Number of Words Found in Sentences

Easy

A sentence is a list of words that are separated by a single space with no leading or trailing spaces.

You are given an array of strings sentences, where each sentences[i] represents a single sentence.

Return the maximum number of words that appear in a single sentence.

Example 1:

Input: sentences = [“alice and bob love leetcode”, “i think so too”, “this is great thanks very much”]

Output: 6

Explanation:

Thus, the maximum number of words in a single sentence comes from the third sentence, which has 6 words.

Example 2:

Input: sentences = [“please wait”, “continue to fight”, “continue to win”]

Output: 3

Explanation: It is possible that multiple sentences contain the same number of words. In this example, the second and third sentences (underlined) have the same number of words.

Constraints:

Solution

public class Solution {
    public int mostWordsFound(String[] sentences) {
        int max = 0;
        for (String sentence : sentences) {
            max = Math.max(max, countWords(sentence));
        }
        return max;
    }

    private int countWords(String s) {
        int start = 0;
        int wc = 0;
        while (start < s.length()) {
            int end = start;
            while (end < s.length() && Character.isLetter(s.charAt(end))) {
                end++;
            }
            wc++;
            start = ++end;
        }
        return wc;
    }
}