• c语言练习69:句⼦中的最多单词数


    句⼦中的最多单词数

    题⽬描述:

    ⼀个 句⼦ 由⼀些 单词 以及它们之间的单个空格组成,句⼦的开头和结尾不会有多余空格。 给你⼀个字符串数组 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. 定义⼀个变量 max ,并将其初始化为0;

    2. 遍历⼆维字符串数组中每⼀维,定义⼀个变量 word ,并将其初始化为1;

    3. 若当前字符为空格, word 的值加⼀;

    4. 当前维遍历结束时,将 max 的值更新为 max 和 word 的最⼤值。

    5. 当每⼀维数组都遍历结束时,返回 max 。

    1. int mostWordsFound(char** sentences, int sentencesSize) {
    2. int i = 0;
    3. int max = 0;
    4. //题⽬给了数组⻓度参数,我们可以直接利⽤下标遍历数组,i表⽰当前遍历的是第i个⼀维数组
    5. for (i = 0; i < sentencesSize; i++) {
    6. int j = 0;
    7. //记录单词数,没有空格时单词数为1
    8. int word = 1;
    9. //j表⽰当前遍历的是第i个⼀维数组中的第j个字符
    10. while (sentences[i][j]) {
    11. //当遍历到空格时,记录次数,单词数+1
    12. if (sentences[i][j] = ' ')
    13. word++;
    14. j++;
    15. }
    16. //遍历完⼀维,更新单词数最⼤值
    17. if (word > max)
    18. max = word;
    19. }
    20. //返回单词数最⼤值
    21. return max;
    22. }

  • 相关阅读:
    【原创】springboot+mysql企业智慧办公OA管理系统
    windows上运行qemu仿真stm32板子a9板子实例
    C++ 设计原则 - 依赖倒置原则
    反射、枚举、lambda表达式
    uniapp微信小程序如何返回上一页的左上角小房子的坑
    【LeetCode 每日一题】53. 最大子数组和
    Rocky Linux Download
    视听杂志视听杂志社视听编辑部2022年第11期目录
    MATLAB R2023b安装包下载链接及软件安装教程
    基本算法模板整理——链表,二叉树,快速排序
  • 原文地址:https://blog.csdn.net/2301_77479435/article/details/133417379