Leecode刷题之旅-C语言/python-434 字符串中的单词数
- /*
- * @lc app=leetcode.cn id=434 lang=c
- *
- * [434] 字符串中的单词数
- *
- * https://leetcode-cn.com/problems/number-of-segments-in-a-string/description/
- *
- * algorithms
- * Easy (29.13%)
- * Total Accepted: 4.2K
- * Total Submissions: 14.2K
- * Testcase Example: '"Hello, my name is John"'
- *
- * 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
- *
- * 请注意,你可以假定字符串里不包括任何不可打印的字符。
- *
- * 示例:
- *
- * 输入: "Hello, my name is John"
- * 输出: 5
- *
- *
- */
- int countSegments(char* s) {
- if(s==NULL||strlen(s)==) return ;
- int i=,j,count=;
- while(i<strlen(s)){
- while(i<strlen(s)&&s[i]==' ') i++;//i每次移到第一个非空格处
- j = i;
- while(j<strlen(s)&&s[j]!=' ')j++;//j每次移到第一个空格处,i和j之间就是一个单词
- if(i<j){
- i=j;
- count++;
- }
- else
- {
- return count;//当最后一个单词后面有空格时,从此出口结束。
- }
- }
- return count;//当最后一个单词后面没有空格时,从此出口结束。
- }
思路是 双指针,i找到第一个非空格字符,j从i的位置开始找到第一个为空格的字符,i<j,那么ij之间的就是一个单词,计数就加一,然后i移动到j的位置进行下一次寻找。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python:
- #
- # @lc app=leetcode.cn id=434 lang=python3
- #
- # [434] 字符串中的单词数
- #
- # https://leetcode-cn.com/problems/number-of-segments-in-a-string/description/
- #
- # algorithms
- # Easy (29.13%)
- # Total Accepted: 4.2K
- # Total Submissions: 14.2K
- # Testcase Example: '"Hello, my name is John"'
- #
- # 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
- #
- # 请注意,你可以假定字符串里不包括任何不可打印的字符。
- #
- # 示例:
- #
- # 输入: "Hello, my name is John"
- # 输出: 5
- #
- #
- #
- class Solution:
- def countSegments(self, s: str) -> int:
- return len(s.split())
python就很简单了。一个split搞定。
Leecode刷题之旅-C语言/python-434 字符串中的单词数的更多相关文章
- Leecode刷题之旅-C语言/python-344反转字符串
/* * @lc app=leetcode.cn id=344 lang=c * * [344] 反转字符串 * * https://leetcode-cn.com/problems/reverse- ...
- Leecode刷题之旅-C语言/python-26.删除数组中的重复项
/* * @lc app=leetcode.cn id=26 lang=c * * [26] 删除排序数组中的重复项 * * https://leetcode-cn.com/problems/remo ...
- Leecode刷题之旅-C语言/python-387 字符串中的第一个唯一字符
/* * @lc app=leetcode.cn id=387 lang=c * * [387] 字符串中的第一个唯一字符 * * https://leetcode-cn.com/problems/f ...
- Leecode刷题之旅-C语言/python-28.实现strstr()
/* * @lc app=leetcode.cn id=28 lang=c * * [28] 实现strStr() * * https://leetcode-cn.com/problems/imple ...
- Leecode刷题之旅-C语言/python-14.最长公共前缀
/* * @lc app=leetcode.cn id=14 lang=c * * [14] 最长公共前缀 * * https://leetcode-cn.com/problems/longest-c ...
- Leecode刷题之旅-C语言/python-1.两数之和
开学后忙的焦头烂额(懒得很),正式开始刷leecode的题目了. 想了想c语言是最最基础的语言,虽然有很多其他语言很简单,有更多的函数可以用,但c语言能煅炼下自己的思考能力.python则是最流行的语 ...
- Leecode刷题之旅-C语言/python-7.整数反转
/* * @lc app=leetcode.cn id=7 lang=c * * [7] 整数反转 * * https://leetcode-cn.com/problems/reverse-integ ...
- Leecode刷题之旅-C语言/python-326 3的幂
/* * @lc app=leetcode.cn id=326 lang=c * * [326] 3的幂 * * https://leetcode-cn.com/problems/power-of-t ...
- Leecode刷题之旅-C语言/python-263丑数
/* * @lc app=leetcode.cn id=263 lang=c * * [263] 丑数 * * https://leetcode-cn.com/problems/ugly-number ...
随机推荐
- ASP.NET错误处理的方式(一)
对Web应用程序来说,发生不可预知的错误和异常在所难免,我们必须为Web程序提供错误处理机制.当错误发生时,我们必须做好两件事情:一是将错误信息记录日志,发邮件通知网站维护人员,方便技术人员对错误进行 ...
- SharePoint2007深入浅出——使用jQuery UI
jQuery1.6.4.js + jQuery UI 1.8.16.js 只有这个版本在IE8下的兼容性视图+Quirks(文本模式),dialog可以正常显示.
- Scala隐式转换和隐式参数
隐式转换 Scala提供的隐式转换和隐式参数功能,是非常有特色的功能.是Java等编程语言所没有的功能.它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法.通过这些功能, ...
- memcached源码剖析4:并发模型
memcached是一个典型的单进程系统.虽然是单进程,但是memcached内部通过多线程实现了master-worker模型,这也是服务端最常见的一种并发模型.实际上,除了master线程和wor ...
- Java中的Scanner类
java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入.创建Scanner对象的基本语法: Scanner s = new Scanner(System. ...
- ipconfig命令一览
前文用到了ipconfig /displaydns和ipconfig /flushdns,加上之前经常ipconfig查ip,今天看了一下别的命令,用的不多,仅作备忘~~ 命令行窗口中输入ipconf ...
- Ubuntu下命令行安装jdk,android-studio,及genymotion虚拟机来进行android开发
安装JDK 从oracle官网下最新版的linux64位的jdk包(现在最新为jdk-8u92-linux-x64.tar.gz) 命令如下 新建文件夹-解压 sudo mkdir /usr/lib/ ...
- Hadoop学习之路(二十一)MapReduce实现Reduce Join(多个文件联合查询)
MapReduce Join 对两份数据data1和data2进行关键词连接是一个很通用的问题,如果数据量比较小,可以在内存中完成连接. 如果数据量比较大,在内存进行连接操会发生OOM.mapredu ...
- [Python 多线程] GIL全局解释器锁 (十三)
Queue 标准库queue模块,提供FIFO(先进先出)的Queue.LIFO(后进先出)的队列.优先队列. Queue类是线程安全的,适用于多线程间安全的交换数据.内部使用了Lock和Condit ...
- coco定义的小物体中物体大物体的尺寸
http://cocodataset.org/#detection-leaderboard