前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode1078 Occurrences After Bigram

leetcode1078 Occurrences After Bigram

作者头像
用户7685359
发布2020-08-22 18:02:20
4760
发布2020-08-22 18:02:20
举报
文章被收录于专栏:FluentStudy

题意分析

这个题意比较简单

首先来看输入:输入三个字符串,第一个字符串为 text,第二个字符串为 first,第三个字符串为 second。

查找过程:找到 text 中以 first 开始,second 连续的位置,然后输出 second 后的那个单词,记为 third,如果有多个位置符合,则需要找出每个 third 对应的单词。

最后输出:third 组成的列表

实现思路

很容易想到 string.split() 方法,将 first 与 second 通过空格拼接,然后根据拼接得到的单词去做 split 。这样基本上就可以拿到需要的结果了。

因为最后需要只需要后一个单词,所以对 split 拿到的结果做一点简单的处理,即再次根据空格做 split,然后取第一个值即可

上代码

代码语言:javascript
复制
class Solution(object):
    def findOcurrences(self, text, first, second):
        """
        :type text: str
        :type first: str
        :type second: str
        :rtype: List[str]
        """
        if not text:
            return []

        tmp = first + ' ' + second
        tlist = text.split(tmp)
        result = [s.strip().split(" ")[0] for s in tlist[1:] if s]

        for i in range(len(result)):
            # 这种情况原因,可参考题目中第二个示例
            if not result[i]:
                result[i] =  first
        return result

if __name__ == "__main__":
    s = Solution()
    print(s.findOcurrences("we will we will rock you", "we", "will"))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FluentStudy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现思路
  • 上代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档