leetcode单词的个数

这篇具有很好参考价值的文章主要介绍了leetcode单词的个数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 题目描述
  • 解题思路
  • 执行结果
leetcode

题目描述

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例:

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

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/number-of-segments-in-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

法1

空格匹配:
分隔单词的字符为空空格,并且空格的前面不能是空格,那么就是一个单词,所以我们只需要使用这个方法就可以去判断是否有一个单词

if s[i-1]!=' '&&s[i]==' '

从1开始循环遍历整个数组,找到所有的单词,
需要注意的是最后末尾如果不是空格就是一个单词,(额外情况)

  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1
func countSegments(s string) int {
    if len(s)==1&&s[0]!=' ' {
  return 1
 }
 t:=0
for i:=1;i<len(s);i++ {
 if s[i-1]!=' '&&s[i]==' ' {
  t++
  i++
 }
 if i==len(s)-1&&s[i]!=' ' {
  t++
 }
}
return t
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 1.8 MB , 在所有 Go 提交中击败了 93.23% 的用户 通过测试用例: 28 / 28 炫耀一下:

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-411919.html

到了这里,关于leetcode单词的个数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • leetcode解题思路分析(一百四十八)1289 - 1296 题

    下降路径最小和 II 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 f[i][j] 表示从数组的前i行中的每一行选择一个数字,

    2024年02月09日
    浏览(37)
  • leetcode解题思路分析(一百四十四)1247 - 1253 题

    交换字符使得字符串相同 有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,

    2024年02月16日
    浏览(40)
  • 【数据结构】回溯算法公式化解题 leetcode经典题目带刷:全排列、组合、子集

    一、什么是回溯算法 回溯算法(Backtracking Algorithm)是一种解决 组合问题 、 排列问题 、 选择问题 等一类问题的常用算法。它通过尝试所有可能的选择来找到问题的解,当发现当前选择不符合要求时,就回溯到之前的状态,然后尝试其他的选择。 1、基本思想: 从问题的起

    2024年02月11日
    浏览(45)
  • Leetcode 75——1768.交替合并字符串 解题思路与具体代码【C++】

    1768. 交替合并字符串 - 力扣(LeetCode) 给你两个字符串  word1  和  word2  。请你从  word1  开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回  合并后的字符串  。 1 = word1.length, word2.length = 100

    2024年02月07日
    浏览(79)
  • LeetCode952三部曲之一:解题思路和初级解法(137ms,超39%)

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 难度: 困难 编程语言:Java 给定一个由不同正整数的组成的非空数组 nums ,考虑下面的图: 有 nums.length 个节点,按从 nums[0] 到 nums[nums.length - 1] 标记; 只有当 nums[i] 和 nums[j] 共用一个大于 1 的公因

    2024年02月10日
    浏览(35)
  • Leetcode各种题型题目+思路+代码(共176道题及答案)

    文章目录 第一章:Leetcode 每日很多题 1、Leetcode-1047 删除字符串中的所有相邻重复项 2、剑指 Offer 53 - I. 在排序数组中查找数字 I 3、Leetcode704:二分查找 4、 Leetcode 227:基本计算器II 5、leetcode 224:基本计算器(带括号的计算) 6、Leetcode 15:三数之和:排序+双指针 7、剑指 offer 38

    2024年02月07日
    浏览(31)
  • 【LeetCode】1654:到家的最少跳跃次数的解题思路 & 关于力扣无法return的BUG的讨论

    有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。 跳蚤跳跃的规则如下: 它可以 往前 跳恰好 a 个位置(即往右跳)。 它可以 往后 跳恰好 b 个位置(即往左跳)。 它不能 连续 往后跳 2 次。 它不能跳到任何 forbidden 数组中的位置。 跳蚤可以往

    2024年02月10日
    浏览(50)
  • 【免费题库】华为OD机试 - 万能字符单词拼写、掌握的单词个数(Java & JS & Python & C & C++)

    哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 有一个字符串数组 words 和一个字符串 chars。 假如可以用 chars 中的字母拼写出 words 中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。 words 的字符仅由 a-z 英文小写

    2024年04月09日
    浏览(55)
  • 华为OD机试 - 掌握的单词个数(Java & JS & Python & C)

    题目描述 有一个字符串数组 words 和一个字符串 chars。 假如可以用 chars 中的字母拼写出 words 中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。 words 的字符仅由 a-z 英文小写字母组成,例如 \\\"abc\\\" chars 由 a-z 英文小写字母和 \\\"?\\\" 组成。其中英文 \\\"?\\\" 表示万能字符

    2024年02月03日
    浏览(54)
  • hadoop 学习:mapreduce 入门案例一:WordCount 统计一个文本中单词的个数

    这个案例的需求很简单 现在这里有一个文本wordcount.txt,内容如下 现要求你使用 mapreduce 框架统计每个单词的出现个数  这样一个案例虽然简单但可以让新学习大数据的同学熟悉 mapreduce 框架 (1)创建一个 maven 工程,maven 工程框架可以选择quickstart (2)在properties中添加 had

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包