Welcome to Subscribe On Youtube

2114. Maximum Number of Words Found in Sentences

Description

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: 
- The first sentence, "alice and bob love leetcode", has 5 words in total.
- The second sentence, "i think so too", has 4 words in total.
- The third sentence, "this is great thanks very much", has 6 words in total.
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:

  • 1 <= sentences.length <= 100
  • 1 <= sentences[i].length <= 100
  • sentences[i] consists only of lowercase English letters and ' ' only.
  • sentences[i] does not have leading or trailing spaces.
  • All the words in sentences[i] are separated by a single space.

Solutions

  • class Solution {
        public int mostWordsFound(String[] sentences) {
            int ans = 0;
            for (var s : sentences) {
                int cnt = 1;
                for (int i = 0; i < s.length(); ++i) {
                    if (s.charAt(i) == ' ') {
                        ++cnt;
                    }
                }
                ans = Math.max(ans, cnt);
            }
            return ans;
        }
    }
    
  • class Solution {
    public:
        int mostWordsFound(vector<string>& sentences) {
            int ans = 0;
            for (auto& s : sentences) {
                int cnt = 1 + count(s.begin(), s.end(), ' ');
                ans = max(ans, cnt);
            }
            return ans;
        }
    };
    
  • class Solution:
        def mostWordsFound(self, sentences: List[str]) -> int:
            return 1 + max(s.count(' ') for s in sentences)
    
    
  • func mostWordsFound(sentences []string) (ans int) {
    	for _, s := range sentences {
    		cnt := 1 + strings.Count(s, " ")
    		if ans < cnt {
    			ans = cnt
    		}
    	}
    	return
    }
    
  • function mostWordsFound(sentences: string[]): number {
        return sentences.reduce(
            (r, s) =>
                Math.max(
                    r,
                    [...s].reduce((r, c) => r + (c === ' ' ? 1 : 0), 1),
                ),
            0,
        );
    }
    
    
  • impl Solution {
        pub fn most_words_found(sentences: Vec<String>) -> i32 {
            let mut ans = 0;
            for s in sentences.iter() {
                let mut count = 1;
                for c in s.as_bytes() {
                    if *c == b' ' {
                        count += 1;
                    }
                }
                ans = ans.max(count);
            }
            ans
        }
    }
    
    

All Problems

All Solutions