列表

详情


2114. 句子中的最多单词数

一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。

给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。

请你返回单个句子里 单词的最多数目 。

 

示例 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:

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

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int mostWordsFound(vector<string>& sentences) { } };

javascript 解法, 执行用时: 76 ms, 内存消耗: 43 MB, 提交时间: 2023-09-12 16:30:58

/**
 * @param {string[]} sentences
 * @return {number}
 */
var mostWordsFound = function(sentences) {
    let res = 0;
    for (const s of sentences) {
        let cur = s.split(" ");
        res = Math.max(res, cur.length);
    }
    return res;
};

rust 解法, 执行用时: 0 ms, 内存消耗: 2.1 MB, 提交时间: 2023-09-12 16:30:18

impl Solution {
    pub fn most_words_found(sentences: Vec<String>) -> i32 {
        sentences
            .iter()
            .map(|x| x.split(' ').count() as i32)
            .max()
            .unwrap()
    }
}

golang 解法, 执行用时: 0 ms, 内存消耗: 3.5 MB, 提交时间: 2023-09-12 16:29:49

func mostWordsFound(sentences []string) (ans int) {
	for _, s := range sentences {
		cnt := strings.Count(s, " ") + 1
		if cnt > ans {
			ans = cnt
		}
	}
	return
}

java 解法, 执行用时: 6 ms, 内存消耗: 40.7 MB, 提交时间: 2023-09-12 16:29:18

class Solution {
    public int mostWordsFound(String[] sentences) {
        return Arrays.stream(sentences).map(s -> s.split(" ").length).max(Integer::compareTo).orElse(0);
    }
}

java 解法, 执行用时: 4 ms, 内存消耗: 41.7 MB, 提交时间: 2023-09-12 16:29:00

class Solution {
    public int mostWordsFound(String[] sentences) {
        int res = 0;
        for (String s : sentences) {
            res = Math.max(res, s.split(" ").length);
        }
        return res;
    }
}

cpp 解法, 执行用时: 12 ms, 内存消耗: 9.5 MB, 提交时间: 2023-09-12 16:28:34

class Solution {
public:
    int mostWordsFound(vector<string>& sentences) {
        int res = 0;
        for (const string& sentence: sentences) {
            // 单词数 = 空格数 + 1
            int cnt = count(sentence.begin(), sentence.end(), ' ') + 1;
            res = max(res, cnt);
        }
        return res;
    }
};

php 解法, 执行用时: 16 ms, 内存消耗: 19 MB, 提交时间: 2023-09-12 16:28:07

class Solution {

    /**
     * @param String[] $sentences
     * @return Integer
     */
    function mostWordsFound($sentences) {
        return max(array_map(function($s) { return count(explode(' ', $s)); }, $sentences));
    }
}

python3 解法, 执行用时: 40 ms, 内存消耗: 15.1 MB, 提交时间: 2022-05-28 23:04:43

class Solution:
    def mostWordsFound(self, sentences: List[str]) -> int:
        return max([len(s.split(' ')) for s in sentences])

上一题