1078. Bigram 分词 : 简单字符串模拟

简介: 1078. Bigram 分词 : 简单字符串模拟

网络异常,图片无法展示
|

题目描述



这是 LeetCode 上的 1078. Bigram 分词 ,难度为 简单


Tag :「模拟」


给出第一个词 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"]
复制代码


提示:


  • 1 <= text.length <= 10001<=text.length<=1000
  • text 由小写英文字母和空格组成
  • text 中的所有单词之间都由 单个空格字符 分隔
  • 1 <= first.length, second.length <= 101<=first.length,second.length<=10
  • firstsecond 由小写英文字母组成


模拟



好像每次起晚都是简单题?🤣


根据题意进行模拟。


代码:


class Solution {
    public String[] findOcurrences(String text, String a, String b) {
        String[] ss = text.split(" ");
        int n = ss.length;
        List<String> list = new ArrayList<>();
        for (int i = 0; i + 2 < n; i++) {
            if (ss[i].equals(a) && ss[i + 1].equals(b)) list.add(ss[i + 2]);
        }
        return list.toArray(new String[list.size()]);
    }
}
复制代码


  • 时间复杂度:O(n)O(n)
  • 空间复杂度:O(n)O(n)


最后



这是我们「刷穿 LeetCode」系列文章的第 No.1078 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。


在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。


为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:github.com/SharingSour…


在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。

相关文章
|
6月前
|
Python
Python如何给视频添加音频和字幕
通过以上方法和代码示例,你可以在Python中成功实现视频的音频和字幕添加。确保理解每一步的实现细节,应用到实际项目中时能有效地处理各种视频编辑需求。
280 20
|
6月前
|
资源调度 JavaScript 前端开发
yarn如何用node替换
Yarn 是一个由 Facebook 开发的 JavaScript 包管理工具,提供比 npm 更快、更可靠的依赖管理体验。然而,在某些情况下,使用 Node.js 内置的 npm 工具替代 Yarn 可能更为合适。通过简化项目结构、统一命令行工具、利用丰富的社区资源和支持,npm 能够减少不必要的复杂性。转换步骤包括:安装 Node.js 和 npm、初始化项目、安装依赖包、转换脚本以及使用 npm 运行命令。这样可以确保项目在保持高效的同时,避免引入额外的工具依赖。
150 2
|
监控 关系型数据库 数据库
PostgreSQL 恢复模式错误日志增强 - 提供正在恢复的WAL(XLOG)文件位置
标签 PostgreSQL , the database system is starting up , the database system is in recovery mode 背景 当数据库异常停库,再次启动时。
3278 0
|
11月前
|
人工智能 数据可视化 Serverless
《AI大模型助力客户对话分析》解决方案
《AI大模型助力客户对话分析》解决方案
|
11月前
|
机器学习/深度学习 自然语言处理 机器人
深度剖析模型微调与RAG技术的完美融合:从理论到实践,带你全面了解如何利用RAG提升特定领域任务性能并附带代码示例
【10月更文挑战第2天】随着深度学习的发展,预训练模型因通用表示能力和高效性备受关注。模型微调通过在已训练模型基础上进行再训练,使其适应特定任务或数据集,提升性能。RAG(Retrieval-Augmented Generation)结合检索与生成技术,在生成响应前检索相关信息,特别适用于需要背景知识的任务。本文通过构建医学问答机器人的示例,展示如何初始化RAG模型并利用实际数据集进行微调,从而提升生成答案的准确性和可信度。
670 4
|
小程序 API 调度
消费级显卡,17G显存,玩转图像生成模型FLUX.1!
近期stable diffusion的部分核心开发同学,推出了全新的图像生成模型FLUX.1。
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【8月更文挑战第5天】随着软件应用的扩展,性能测试至关重要。Apache JMeter是一款成熟且功能强大的开源工具,支持多种协议,可通过命令行模式执行复杂测试计划,并能与Python集成实现自动化。Locust则是一个基于Python的负载测试工具,通过简单脚本模拟HTTP请求,特别适合Web应用测试,支持自定义请求和深度集成Python库。两者各有优势:JMeter适用于多种应用测试,有直观图形界面;Locust专注HTTP请求,对熟悉Python的开发者更为灵活。结合Python的强大功能,这些工具能帮助我们深入挖掘性能测试潜力,提高应用的稳定性和可靠性。
238 3
|
机器学习/深度学习 算法 Python
介绍文本分类的基本概念、常用方法以及如何在Python中使用机器学习库进行文本分类
【6月更文挑战第13天】文本分类是机器学习在数字化时代的关键应用,涉及文本预处理、特征提取和模型训练等步骤。常见方法包括基于规则、关键词和机器学习,其中机器学习(如朴素贝叶斯、SVM、深度学习)是主流。在Python中,可使用scikit-learn进行文本分类,例如通过TF-IDF和朴素贝叶斯对新闻数据集进行处理和预测。随着技术发展,未来将深入探索深度学习和多模态数据在文本分类中的应用。
321 2
|
XML 监控 Java
如何在Spring Boot中使用AOP
如何在Spring Boot中使用AOP
|
数据采集 数据挖掘 Python
Python之html2text: 将HTML转换为Markdown 文档示例详解
Python之html2text: 将HTML转换为Markdown 文档示例详解
1021 0