• 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)==0) return 0;
        int i=0,j,count=0;
        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搞定。

  • 相关阅读:
    Python 华为云OSS建桶与文件上传下载删除及检索示例
    Sonar 扫描之分析参数介绍
    浅谈探寻企业数字化
    关于碳中和的一点浅谈
    ElementUI 多选+远程搜索
    vue组件之间共享数据
    vue 音频组件
    vue 视频播放
    在 windows环境下 python 调试信息 输出彩色的字
    MySQL CPU使用彪高,如何快速找到源头
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/10564208.html
Copyright © 2020-2023  润新知