首页 > 其他分享 >leedcode-字符串中的单词数

leedcode-字符串中的单词数

时间:2024-04-29 14:15:30浏览次数:20  
标签:空格 slow return leedcode fast 单词 字符串

class Solution:
    def countSegments(self, s: str) -> int:
        n = len(s)
        # 如果字符串长度为1且不是空格,则只有一个段
        if n == 1 and s[0] != ' ':
            return 1
        # 如果字符串长度为1且是空格,则没有段
        if n == 1 and s[0] == ' ':
            return 0
        
        slow_ptr = 0  # 开始指针
        fast_slow = 1  # 结束指针
        count = 0  # 段计数
        
        while fast_slow <= n - 1:
            # 如果开始指针指向非空格字符,且结束指针指向空格字符,表示找到一个段
            if s[slow_ptr] != ' ' and s[fast_slow] == ' ':
                count += 1
            # 如果结束指针指向最后一个字符且为非空格字符,则表示还有一个段
            elif fast_slow == n - 1 and s[fast_slow] != ' ':
                return count + 1
            fast_slow += 1
            slow_ptr += 1

        return count

 

标签:空格,slow,return,leedcode,fast,单词,字符串
From: https://www.cnblogs.com/yyyjw/p/18165592

相关文章

  • 力扣-2586. 统计范围内的元音字符串数
    1.题目题目地址(2586.统计范围内的元音字符串数-力扣(LeetCode))https://leetcode.cn/problems/count-the-number-of-vowel-strings-in-range/?envType=study-plan-v2&envId=primers-list题目描述给你一个下标从0开始的字符串数组words和两个整数:left和right。如果字......
  • 力扣-1422. 分割字符串的最大得分
    1.题目题目地址(1422.分割字符串的最大得分-力扣(LeetCode))https://leetcode.cn/problems/maximum-score-after-splitting-a-string/?envType=study-plan-v2&envId=primers-list题目描述给你一个由若干0和1组成的字符串s,请你计算并返回将该字符串分割成两个非空子......
  • 交错字符串
    https://leetcode.cn/problems/interleaving-string/description/?envType=study-plan-v2&envId=top-interview-150以下是通过动态规划解决该问题的正确方法。首先,如果字符串s1和s2的长度之和不等于字符串s3的长度,即|s1|+|s2|≠|s3|,那么字符串s3不可能由字符串s1......
  • leedcode-
    自己写的:classSolution:defaddStrings(self,num1:str,num2:str)->str:#将两个字符串转换为整数num1_int=self.strToInt(num1)num2_int=self.strToInt(num2)#将两个整数相加,并将结果转换为字符串res=......
  • python可复用代码(连接数据库/字符串处理/爬虫/日志配置)【1】
    importpymysqlimportloggingimporttimeimportrandomimportloggingimportrequestsfrombs4importBeautifulSoup"""获取数据库连接"""#连接数据库获取游标defget_conn():""":return:连接,游标""&qu......
  • UES-02-字符串与正则
    Unicode支持16位二进制数称为一个码元,原先的UTF-16中一个码元表示一个字符。现今的UTF-16中,一个代码点表示一个字符,一个代码点由一个码元或者两个连续的码元表示,也就是一个字符由一个码元或者两个连续的码元表示。字符串的codePointAt()方法接收一个索引值,返回字符串中......
  • oracle小技巧:字符串原样输出
       在sql查询中,我们经常需要原样输出字符串,如果字符串中含有大量的单引号、双引号或者特殊字符,那么需要用单引号转义拼接字符串,这样会非常的麻烦。      oracle提供了一个Q-quote的表达式来原样输出字符串。SELECTQ'[I'maboy,mynameis'david']'FROMDUAL......
  • 字符串置换
    3.1LintCode211-字符串置换  boolPermutation(string&A,string&B){  解法一:单纯使用数组计数,缺点是对如果带有特殊符号的字符串是无法处理的时间复杂度是O(n)#include<iostream>usingnamespacestd;constintN=1e5+10;intcnt1[26];intcnt2[26];bool......
  • 陈畅亮搞的专利在Windows上利用加解密DLL模块对数据库连接字符串进行加解密
    陈畅亮搞的专利在Windows上利用加解密DLL模块对数据库连接字符串进行加解密  这种专利权人是公司,个人是发明人,专利年费是申请人先垫付,然后公司报销了,这个专利本身就不属于员工的这个是公司是专利权人, 使用权是公司,如果想要维持权利的话,需要缴纳年费,专利发明现在一个市......
  • 顺序栈十进制转十六进制,还有键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串
    设计一个进制转换程序,使用顺序栈设计一个把十进制数转换为十六进制数的接口,实现当通过键盘输入一个非负的十进制数,可以在终端输出对应的十六进制数。*@brief :十进制转十六进制*@param :@Segstackt*Manager:地址* @unsignedintData:转换的值*@re......