力扣2114.句子中的最多单词数 Java

目录

题目描述

解题思路 


题目描述

https://leetcode-cn.com/problems/maximum-number-of-words-found-in-sentences

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

给你一个字符串数组 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] 中所有单词由单个空格隔开。

解题思路 

这道题目本身并不难做,看到题目可能会没有头绪,但往下看到提示的时候就会灵光一现,开头和结尾都没有空格,只有两个单词之间有空格,很像小时候的植树问题吧,那我把空格数求出来再+1不就是单词的数目了吗

class Solution {
    public int mostWordsFound(String[] sentences) {
        int max = 0;
        for(String sentence:sentences){
            int len=sentence.length();
            int count=1;//统计空格个数
            for (int i = 0; i < len; i++) {
                //charAt() 方法用于返回指定索引处的字符
                char temp = sentence.charAt(i);
                if (temp == ' ') // 空格
                count++;
            }
            max = Math.max(count,max);
        }
        return max;
    }
}

力扣2114.句子中的最多单词数 Java_第1张图片 

后来看题解,发现有人用split()方法,因为自己不太了解这个方法,就去查了查

详情请见

Java split()方法_赚钱去流浪的博客-CSDN博客

 

你可能感兴趣的:(算法题,leetcode,java,算法)