Leetcode434. 字符串中的单词数

字符串中的单词数——力扣434 时间复杂度O(1),空间复杂度O(1) 阅读详情

Every day a leetcode

题目来源:434. 字符串中的单词数

解法1:istringstream

我们知道,C++默认通过空格(或回车)来分割字符串输入,即区分不同的字符串输入。

istringstream类用于执行C++风格的串流的输入操作。它的作用是从string对象str中读取字符,用空格作为字符串分隔符。

代码:

/*
 * @lc app=leetcode.cn id=434 lang=cpp
 *
 * [434] 字符串中的单词数
 */

// @lc code=start
class Solution
{
public:
    int countSegments(string s)
    {
        istringstream iss(s);
        vector<string> words;
        string word;
        while (iss >> word)
            words.push_back(word);
        return words.size();
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中n是字符串s的长度。

空间复杂度:O(n/2),其中n是字符串s的长度。

解法2:遍历

计算字符串中单词的数量,就等同于计数单词的第一个下标的个数。因此,我们只需要遍历整个字符串,统计每个单词的第一个下标的数目即可。

满足单词的第一个下标有以下两个条件:

  • 该下标对应的字符不为空格;
  • 该下标为初始下标或者该下标的前下标对应的字符为空格;

代码:

/*
 * @lc app=leetcode.cn id=434 lang=cpp
 *
 * [434] 字符串中的单词数
 */

// @lc code=start
// class Solution
// {
// public:
//     int countSegments(string s)
//     {
//         istringstream iss(s);
//         vector<string> words;
//         string word;
//         while (iss >> word)
//             words.push_back(word);
//         return words.size();
//     }
// };

class Solution
{
public:
    int countSegments(string s)
    {
        int count = 0;
        for (int i = 0; i < s.size(); i++)
            if ((i == 0 || s[i - 1] == ' ') && s[i] != ' ')
                count++;
        return count;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n)

空间复杂度:O(1)

随机森林的可解释性分析(含python代码) 随机森林的“黑箱”特性逐渐凸显,这使得我们难以理解和解释模型内部的工作机制。对于许多应用场景而言,仅仅获得高准确率的预测结果是不够的;了解预测背后的逻辑同样重要,特别是在医疗诊断、金融风险评估等领域。因此,对随机森林进行可解释性分析变得尤为重要。 阅读详情

相关推荐

彻底解决0x80070005错误代码:全面分析与实战指南

0x80070005错误代码虽然令人头疼,但通过上述方法,我们完全有能力将其攻克。从检查磁盘空间、设置账号权限,到运行疑难解答和系统文件检查器,再到调整相关服务状态,每一步都是解决这一问题的关键。希望本文能为你提供有力的帮助,让你在使用Windows系统的过程中更加顺畅无忧。

nntxthml的博客 6942

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

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

IronmanJay 1485

嵌入式存储实战:FAL+SFUD+flashDB三件套在STM32上的完整移植指南(附避坑技巧)

本文提供了一套在STM32上完整移植FAL、SFUD与flashDB嵌入式存储框架的实战指南。详细解析了从SPI驱动配置、SFUD设备识别、FAL抽象层分区到flashDB键值数据库初始化的全流程,并分享了关键的避坑技巧与性能优化建议,帮助开发者构建稳定可靠的嵌入式存储系统。

rnn9storyteller的博客 1018

Leetcode 434. 字符串中的单词数 C++

Leetcode 434. 字符串中的单词数 题目 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。 测试样例 统计每个单词的第一个字母。详细过程见代码 代码 int countSegments(string s) { if(s.empty()) retu

weixin_43750513的博客 280

扰动观察法MPPT控制器simulink仿真

最大功率点跟踪(MPPT)控制器对于光伏(PV)系统至关重要,因为它可以确保系统在所有操作条件下都能从光伏阵列中提取最大功率。扰动观察法(P&O)是一种广泛使用的MPPT算法,因为它简单且易于实现。本文介绍了P&O MPPT控制器的Simulink仿真,并分析了其性能。

qq_59747472的博客 318

【网络安全 | 渗透工具】Githack工具安装及使用教程详析

本文仅分享Githack工具基本安装及使用相关知识不承担任何法律责任。Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。然而,在配置不当的情况下,可能会导致.git文件夹被直接部署到线上环境中,这可能会导致Git泄露问题。可通过githack下载泄露的Git存储库,以获取包含未加密密码、凭据和敏感信息的站点代码库。使用githack下载Git存储库的方法有两种。本文仅分享。

等风来 3万+

Leetcode 434.字符串中的单词数

Leetcode 434.字符串中的单词数 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: “Hello, my name is John” 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。 class Solution { public int countSegments(String s) { int len = s.len

EIUC_Thread的博客 312

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

[Golang]力扣Leetcode - 434. 字符串中的单词数(原地法)

[Golang]力扣Leetcode - 434. 字符串中的单词数(原地法) 题目:统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 链接: 力扣Leetcode - 434. 字符串中的单词数. 示例1: 输入:“Hello, my name is John” 输出:5 解释:这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。 思路: 遍历字符串,若当前下标之前为空格(或者为初始下标),且自身不为空格,则

皮埃尔的博客 393

AutoSAR MemMap模块详解及使用注意事项

在本文中,我们将深入探讨MemMap模块的实例解析,并介绍在使用该模块时需要注意的一些事项。在上述代码中,我们使用了MEMMAP_START_SEC_VAR_32BIT和MEMMAP_START_SEC_CODE来定义MemMap区域的起始位置,使用MEMMAP_STOP_SEC_VAR_32BIT和MEMMAP_STOP_SEC_CODE来定义MemMap区域的结束位置。1.合理划分MemMap区域:根据实际需求,合理划分MemMap区域,将不同类型的变量放置在不同的区域中,以便于管理和访问。

weixin_50547796的博客 2534

ClaudeCode入门01-环境安装(小白入门:手把手教你配置,超简单的一种接入方式)

文手把手教你从零搭建 Claude Code 开发环境。针对国内网络现状,我们采用 OpenRouter + Claude Code Router 的方案,支持支付宝/微信充值,无需科学上网即可完成配置。内容涵盖 Node.js 安装(macOS/Windows/Linux)、OpenRouter 注册与充值、Claude Code 和 Router 安装配置,以及一键启动脚本的编写。跟着截图一步步操作,10分钟搞定全部环境!

yueyeguzhuo的专栏 282

434. 字符串中的单词数、Leetcode的Go实现

博客主页:🏆看看是李XX还是李歘歘🏆 🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺 💗点关注不迷路,总有一些📖知识点📖是你想要的💗 ⛽️今天的内容是Leetcode434. 字符串中的单词数⛽️💻💻💻 434. 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字...

分享包括但不限于计算机基础知识、数据结构与算法、Golang技术栈。年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及! 517

4、接收天线:接收电压、功率和传输系数

本文详细探讨了接收天线的性能参数,包括接收电压、功率和传输系数,通过建立等效电路模型分析接收偶极子的电流和开路电压,并定义电压和功率传输函数。研究揭示了天线长度、工作频率及极化失配对传输性能的影响,并提出了优化接收天线性能的策略,为天线系统的设计与优化提供了理论支持。

ll5678的博客 235

力扣(leetcode)第434题字符串中的单词数(Python)

最后,我写了一篇MySQL教程,里面详细的介绍了MySQL的基本概念以及操作指令等内容,欢迎阅读!解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。输入: “Hello, my name is John”请注意,你可以假定字符串里不包括任何不可打印的字符。

qq_58737789的博客 733

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【LeetCode】第434题——字符串中的单词数(难度:简单)

【LeetCode】第434题——字符串中的单词数(难度:简单)题目描述解题思路代码详解注意点 题目描述 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: “Hello, my name is John” 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。 通过次数28,380 提交次数76,996 来源:力扣(LeetCode) 链接:https://leetcode-c

Se7en_Dayz的博客 206

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java实现 LeetCode 434 字符串中的单词数

434. 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: “Hello, my name is John” 输出: 5 class Solution { public int countSegments(String s) { String[] ss = s.s...

南 墙 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

leetcode(String)--434. 字符串中的单词数

leetcode(String)–434. 字符串中的单词数 1,题目: 2,思路: 方法一:双指针: 用i指向一个单词的开始,再用j来寻找这个单词的末尾,遮掩的话,就找到了一个单词。以此循环。 方法二:原地法: if ((i == 0 || s.charAt(i-1) == ’ ') && s.charAt(i) != ’ ') {//通过判断i这个位置的,当前的字符和前一个是否为空格,来判断是否是一个单词。 方法三:字符串按空格分割成字符串数组: 将字符串按空格分割成字符串数组,判断每

chen772209的博客 187

Leetcode刷题100天—434. 字符串中的单词数( 字符串)—day60

前言: 作者:神的孩子在歌唱 大家好,我叫智,一个算法小菜鸟 434. 字符串中的单词数 难度简单128收藏分享切换为英文接收动态反馈 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。 package 字符串; /* * https://leetcode-cn.com

智的博客 5728

leetcode刷题之434.字符串中的单词数

leetcode刷题之434.字符串中的单词数 题目: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符 示例: 输入: "Hello, my name is John" 输出: 5 代码: class Solution: def countSegments(self, s: str) -> int: ...

胡萝卜 262

leetcode 434. 字符串中的单词数-耗时100%

找特征字符串组,耗时100%,开始和结束都加一个空格,这样只需要数 空格+字符 的个数就行了。

邹九的个人博客 591

#力扣 LeetCode434. 字符串中的单词数 @FDDLC

题目描述: https://leetcode-cn.com/problems/number-of-segments-in-a-string/ Java描述: class Solution { public int countSegments(String s) { int ans=s.length()>0&&s.charAt(0)!=' '?1:0; for(int i=s.length()-1;i>0;i--)if(s.ch.

LiuXingchang的博客 283

leetcode 434. 字符串中的单词数

【题目】434. 字符串中的单词数 151. 翻转字符串里的单词 58. 最后一个单词的长度 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 【解题思路1】trim()后split() class Solution { public int ...

Sophia_fez的博客 394

力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干》。

weixin_63866037的博客 461

LeetCode 434 字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解法一 投机取巧的办法,因为题目明确规定了以空格分隔的字符 class Solution: def countSegments(self, s: str) -> int: ...

eswang的优快云博客 378

LeetCode 434. 字符串中的单词数

1. 题目 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problem...

Michael是个半路程序员 1008
上一篇: Leetcode415. 字符串相加
下一篇: Leetcode441. 排列硬币
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值