【算法】2114. 句子中的最多单词数(java / c / c++ / python / go / rust)
2022/2/14 11:41:39
本文主要是介绍【算法】2114. 句子中的最多单词数(java / c / c++ / python / go / rust),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 2114. 句子中的最多单词数:
- 样例 1:
- 样例 2:
- 提示:
- 分析
- 题解
- java
- c
- c++
- python
- go
- rust
- 原题传送门: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)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南