leetcode-1078:Bigram 分词

简介: leetcode-1078:Bigram 分词

题目

题目链接

给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 “first second third” 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。

对于每种这样的情况,将第三个词 “third” 添加到答案中,并返回答案。

示例 1:

输入:text = "alice is a good girl she is a good student", first = "a", second = "good"
输出:["girl","student"]

示例 2:

输入:text = "we will we will rock you", first = "we", second = "will"
输出:["we","rock"]

解题

方法一:split成数组+一次遍历

class Solution {
public:
    vector<string> findOcurrences(string text, string first, string second) {
        //split
        vector<string>strs;
        int n=text.size();
        int i=0;
        while(i<n){
            int start=i;
            while(i<n&&text[i]!=' ') i++;
            strs.push_back(text.substr(start,i-start));
            while(i<n&&text[i]==' ') i++;
        }
        //一次遍历得到结果
        int p=0;
        vector<string> res;
        while(p+2<strs.size()){
            if(strs[p]==first&&strs[p+1]==second) res.push_back(strs[p+2]);
            p++;
        }
        return res;
    }
};
相关文章
|
消息中间件 存储 监控
RabbitMQ 死信队列
RabbitMQ的死信队列(DLQ)是存储无法正常消费消息的特殊队列,常见于消息被拒绝、过期或队列满时。DLQ用于异常处理、任务调度和监控,通过绑定到普通队列自动路由死信消息。通过监听死信队列,可以对异常消息进行补偿和进一步处理,提升系统稳定性和可维护性。
362 1
|
资源调度 JavaScript 前端开发
Vite:下一代前端构建工具的快速上手
Vite 是由 Vue.js 的作者尤雨溪开发的下一代前端构建工具,它以其快速的冷启动、按需编译和热更新能力而受到广泛关注。Vite 通过利用浏览器原生的 ES 模块导入功能,提供了几乎即时的开发环境启动速度和高度优化的开发体验。
229 2
|
Java
【Java异常】ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit erro
【Java异常】ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit erro
638 0
|
数据安全/隐私保护 运维 安全
企业身份管理实战—RAM用户单点登录(SSO)
企业管理者在管理企业员工账号和使用的多个云平台的账号的时候,一般采取集中式的管理。但是企业在使用一家或多家云平台的资源服务时,如何统一的管理企业员工账号和多个云平台的账号身份,并打通本地到云上控制台的访问呢?本文就将介绍如何通过业界标准的协议,来解决这些问题。
2785 0
企业身份管理实战—RAM用户单点登录(SSO)
|
NoSQL Java Redis
SpringBoot项目连接Redis:ERR Client sent AUTH, but no password is set
SpringBoot项目连接Redis:ERR Client sent AUTH, but no password is set
915 0
SpringBoot项目连接Redis:ERR Client sent AUTH, but no password is set
|
前端开发 JavaScript API
Schema-First 还是 Code-First
Schema-First 还是 Code-First
739 0
|
缓存 NoSQL 网络协议
面试官:Redis 为什么这么快?除了基于内存操作还有其他原因吗?
曾经有人这么告诉我:“在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。另外,超过一弹指的耗时操作要有进度提示,并且可以随时中止或取消,这样才能给用户最好的体验。” 那么瞬间、刹那、一弹指具体是多少时间呢? 根据《摩诃僧祗律》记载: 一刹那者为一念,二十念为一瞬,二十瞬为一弹指,二十弹指为一罗预,二十罗预为一须臾,一日一夜有三十须臾。 那么,经过周密的计算,一瞬间为0.36 秒,一刹那有 0.018 秒.一弹指长达 7.2 秒。 为了提升用户体验,提高网站响应速度,一般都会使用缓存,而通常的技术选型都是redis。 今天我们就来聊聊,为什么redis这么快
面试官:Redis 为什么这么快?除了基于内存操作还有其他原因吗?
|
Cloud Native 容器 Kubernetes
云原生时代下,容器服务如何发展与落地 | 开发者社区精选文章合集(十七)
云原生的火热带来了企业基础设施和应用架构等技术层面的革新。大势所趋下,越来越多的企业选择拥抱云原生。但是云原生时代下,企业又将面临哪些容器安全新挑战,又该如何解决呢?
云原生时代下,容器服务如何发展与落地 | 开发者社区精选文章合集(十七)
|
Linux
LINUX ANSI C库函数FOPEN()的文件流指针结构体访问代码
1 [root@localhost ccode]# cat ptr_struct_file.c 2 #include 3 #include 4 #include 5 6 #define ptr(CONTENT, MSG) printf(CONTENT":\t%p\...
1045 0