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 } }