【LeetCode】2114. 句子中的最多单词数(C++)

2114. 句子中的最多单词数

  • 1 题目描述
  • 2 示例描述
    • 2.1 示例1
    • 2.2 示例2
  • 3 解题提示
  • 4 解题思路
  • 5 代码详解

1 题目描述

一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。
给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。
请你返回单个句子里 单词的最多数目 。

2 示例描述

2.1 示例1

输入:sentences = [“alice and bob love leetcode”, “i think so too”, “this is great thanks very much”]
输出:6
解释:

  • 第一个句子 “alice and bob love leetcode” 总共有 5 个单词。
  • 第二个句子 “i think so too” 总共有 4 个单词。
  • 第三个句子 “this is great thanks very much” 总共有 6 个单词。
    所以,单个句子中有最多单词数的是第三个句子,总共有 6 个单词。

2.2 示例2

输入:sentences = [“please wait”, “continue to fight”, “continue to win”]
输出:3
解释:可能有多个句子有相同单词数。
这个例子中,第二个句子和第三个句子(加粗斜体)有相同数目的单词数。

3 解题提示

1 <= sentences.length <= 100
1 <= sentences[i].length <= 100
sentences[i] 只包含小写英文字母和 ’ ’ 。
sentences[i] 的开头和结尾都没有空格。
sentences[i] 中所有单词由单个空格隔开。

4 解题思路

日签,一个简单的计算空格的问题,子串计算空格+1即为单词数量,再进行保留最大的数值即可。

5 代码详解

class Solution {
public:
    int mostWordsFound(vector<string>& sentences) {
        int sumMax = 0 ; 
        int sum = 1 ; 
        for ( int i = 0 ; i < sentences.size() ; i ++ )
        {
            for ( int j = 0 ; j < sentences[i].size() ; j ++ )
            {
                if ( sentences[i][j] == ' ' )
                {
                    sum ++ ;
                }
            }

            if ( sum > sumMax )
            {
                sumMax = sum ;
            }
            sum = 1 ;
        }

        return sumMax ;
    }
};

你可能感兴趣的:(LeetCode,leetcode)