算法2114. 句子中的最多单词数(java / c / c++ / python / go / rust)
Posted 二当家的白帽子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法2114. 句子中的最多单词数(java / c / c++ / python / go / rust)相关的知识,希望对你有一定的参考价值。
文章目录
- 2114. 句子中的最多单词数:
- 样例 1:
- 样例 2:
- 提示:
- 分析
- 题解
- 原题传送门:https://leetcode-cn.com/problems/maximum-number-of-words-found-in-sentences/
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
解释:
可能有多个句子有相同单词数。
这个例子中,第二个句子和第三个句子(加粗斜体)有相同数目的单词数。
提示:
1 <= sentences.length <= 100
1 <= sentences[i].length <= 100
sentences[i]
只包含小写英文字母和' '
。sentences[i]
的开头和结尾都没有空格。sentences[i]
中所有单词由单个空格隔开。
分析
- 面对这道算法题目,二当家的陷入了沉思。
- 根据提示,每个单词之间都有空格,而且开头和结尾没有空格,那么单词数量就是空格数量加一。
题解
java
class Solution
public int mostWordsFound(String[] sentences)
int ans = 0;
for (String s : sentences)
int count = 1;
for (char c : s.toCharArray())
if (c == ' ')
count++;
if (count > ans)
ans = count;
return ans;
c
int mostWordsFound(char ** sentences, int sentencesSize)
int ans = 0;
for (int i = 0; i < sentencesSize; i++)
int count = 1;
char *s = sentences[i];
while (*s++)
if (*s == ' ')
count++;
if (count > ans)
ans = count;
return ans;
c++
class Solution
public:
int mostWordsFound(vector<string>& sentences)
int ans = 0;
for (string &s: sentences)
int cnt = count(s.begin(), s.end(), ' ') + 1;
if (cnt > ans)
ans = cnt;
return ans;
;
python
class Solution:
def mostWordsFound(self, sentences: List[str]) -> int:
ans = 0
for sentence in sentences:
cnt = sentence.count(' ') + 1
if cnt > ans:
ans = cnt
return ans
go
func mostWordsFound(sentences []string) int
ans := 0
for _, s := range sentences
cnt := 1
for _, c := range s
if c == ' '
cnt++
if cnt > ans
ans = cnt
return ans
rust
impl Solution
pub fn most_words_found(sentences: Vec<String>) -> i32
let mut ans = 0;
sentences.iter().for_each(|s|
let cnt = s.as_bytes().iter().filter(|&&c| c as char == ' ' ).count() + 1;
if cnt > ans
ans = cnt;
);
return ans as i32;
原题传送门:https://leetcode-cn.com/problems/maximum-number-of-words-found-in-sentences/
非常感谢你阅读本文~
欢迎【👍点赞】【⭐收藏】【📝评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子:https://le-yi.blog.csdn.net/ 博客原创~
以上是关于算法2114. 句子中的最多单词数(java / c / c++ / python / go / rust)的主要内容,如果未能解决你的问题,请参考以下文章