当前位置: 首页 > article >正文

【LeetCode每日一题】——434.字符串中的单词数

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【解题思路】
  • 七【时空频度】
  • 八【代码实现】
  • 九【提交结果】

一【题目类别】

  • 字符串

二【题目难度】

  • 简单

三【题目编号】

  • 434.字符串中的单词数

四【题目描述】

  • 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
  • 请注意,你可以假定字符串里不包括任何不可打印的字符。

五【题目示例】

  • 示例:
    • 输入: “Hello, my name is John”
    • 输出: 5
    • 解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。

六【解题思路】

  • 根据题意可知,单词由空格分隔
  • 所以我们可以通过空格的数量来计算单词的数量,即如果当然字母不为空格,且当前字母的前一个位置为空格,那么以当前字母开始就是一个单词
  • 不过需要注意第一个单词需要特殊处理,因为第一个单词前面没有空格
  • 最后返回结果即可
  • 具体细节可以参考下面的代码

七【时空频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的字符串的长度
  • 空间复杂度: O ( 1 ) O(1) O(1)

八【代码实现】

  1. Java语言版
class Solution {
    public int countSegments(String s) {
        // 计数单词
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            // 以空格分割单词来计数,要注意第一个单词要特殊处理
            if ((i == 0 || s.charAt(i - 1) == ' ') && s.charAt(i) != ' ') {
                count++;
            }
        }
        // 返回结果
        return count;
    }
}
  1. Python语言版
class Solution:
    def countSegments(self, s: str) -> int:
        # 计数单词
        count = 0
        for i in range(0, len(s)):
            # 以空格分割单词来计数,要注意第一个单词要特殊处理
            if (i == 0 or s[i - 1] == ' ') and s[i] != ' ':
                count += 1
        # 返回结果
        return count
  1. C语言版
int countSegments(char* s)
{
    // 计数单词
    int count = 0;
    for (int i = 0; i < strlen(s); i++)
    {
        // 以空格分割单词来计数,要注意第一个单词要特殊处理
        if ((i == 0 || s[i - 1] == ' ') && s[i] != ' ')
        {
            count++;
        }
    }
    // 返回结果
    return count;
}

九【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. Python语言版
    在这里插入图片描述

  3. C语言版
    在这里插入图片描述


http://www.kler.cn/a/446000.html

相关文章:

  • webGL硬核知识:图形渲染管渲染流程,各个阶段对应的API调用方式
  • wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势
  • Java模拟Mqtt客户端连接Mqtt Broker
  • css常用属性有哪些
  • C语言经典100例
  • 功能篇:JAVA8实现数据去重
  • Python的3D可视化库【vedo】2-5 (plotter模块) 坐标转换、场景导出、添加控件
  • redis-cli 连接Redis
  • 我的“双胞同体”发布模式的描述与展望
  • GESP CCF python六级编程等级考试认证真题 2024年12月
  • 关于ftp.ncbi.nlm.nih.gov数据下载路由调整的记录
  • MyBatis入门的详细应用实例
  • Docker dockerfile镜像编码 centos7
  • 从客户跟进到库存管理:看板工具赋能新能源汽车销售
  • 【深入理解Maven】
  • 商用密码标准实现
  • 【Elasticsearch】使用游标遍历所有数据
  • Pytorch实现轻量去雾网络
  • 【GCC】2015: draft-alvestrand-rmcat-congestion-03 机器翻译
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之3(百度文库答问 之1)
  • JSP脚本小程序和JSP表达式
  • VS Code Copilot 与 Cursor 对比
  • Antd react上传图片格式限制
  • [创业之路-197]:华为的发展路径启示
  • 【和春笋一起学C++】while语句和类型别名
  • [flutter] 安卓编译配置