2024.1.20力扣每日一题——按分隔符拆分字符串

2024.1.20

      • 题目来源
      • 我的题解
        • 方法一 API工程师(String.split+Stream)
        • 方法二 模拟

题目来源

力扣每日一题;题序:2788

我的题解

方法一 API工程师(String.split+Stream)

直接调用相关API

时间复杂度:O(n)。没有考虑API内部时间
空间复杂度:O(1)。没考虑API内部细节

public List<String> splitWordsBySeparator(List<String> words, char separator) {List<String> res=new ArrayList<>();for(String s :words){res.addAll(Arrays.stream(s.split("\\"+separator)).filter(c->!c.isEmpty()).collect(Collectors.toList()));}return res;}
方法二 模拟

模拟分割

时间复杂度:O(nm)。n是中的字符串数,m是最长字符串的长度
空间复杂度:O(m)。在分割函数中存储结果的list大小

public List<String> splitWordsBySeparator(List<String> words, char separator) {List<String> res=new ArrayList<>();for(String s :words){res.addAll(split(s,separator));}return res;
}
public List<String> split(String s,char separator){int n=s.length();int left=0,right=0;List<String> res=new ArrayList<>();while(right<n){while(right<n&&s.charAt(right)!=separator){right++;}String t=s.substring(left,right);if(!t.isEmpty())res.add(t);left=right+1;right=left;}return res;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《WebKit 技术内幕》之六(3): CSS解释器和样式布局

3 WebKit布局 3.1 基础 当WebKit创建RenderObject对象之后&#xff0c;每个对象是不知道自己的位置、大小等信息的&#xff0c;WebKit根据框模型来计算它们的位置、大小等信息的过程称为布局计算&#xff08;或者称为排版&#xff09;。 图描述了这一过程中涉及的主要WebKit…

2024北京口腔健康展览会

时间&#xff1a;2024年5月20-22日 地点&#xff1a;北京中国国际展览中心 ◆展会背景Exhibition background&#xff1a; 各有关口腔健康厂商&#xff1a;2024年5月20&#xff5e;22日&am…

【解决方法】PPT不能编辑,按钮都是灰色,怎么办?

PPT文件打开之后&#xff0c;发现无法编辑&#xff0c;再仔细查看发现工具栏中的功能按钮都是灰色的&#xff0c;无法使用&#xff0c;这是什么原因&#xff1f;该如何解决&#xff1f; 原因&#xff1a;无法编辑PPT文件&#xff0c;并且功能按钮都是灰色&#xff0c;这是因为…

歌声合成入门资源和步骤

本人从事歌声合成研究多年,有做过很多种方法。欢迎交流学习。歌声合成是一项涉及音频处理和人工智能技术的复杂任务,它通常包括声音采样、特征提取、建模以及合成等步骤。以下是入门歌声合成的步骤,以及涉及到的相关技术: 了解基础知识: 音乐理论:学习音乐理论,包括音高…

qnx 上screen + egl + opengles 最简实例

文章目录 前言一、qnx 上的窗口系统——screen二、screen + egl + opengles 最简实例1.使用 addvariant 命令创建工程目录2. 添加源码文件3. common.mk 文件4. 编译与执行总结参考资料前言 本文主要介绍如何在QNX 系统上使用egl和opengles 控制GPU渲染一个三角形并显示到屏幕上…

cuda中的定点数优化技术

这里学习一下定点数的优化操作&#xff0c;实际上就是以整数代替浮点数&#xff0c;乘除法的操作均通过左右移位来实现&#xff0c;适合在算力非常低的场景下使用&#xff0c;极致的压榨性能。 https://zhuanlan.zhihu.com/p/338588296 定点数介绍 以下给出函数的具体实现&…

matlab自动控制状态反馈 设计PID控制回路、保证控制效果

1、内容简介 略 36-可以交流、咨询、答疑 2、内容说明 控制理论报告 系统描述 已知系统的传递函数为 &#xff0c;以T0.25s对系统采样&#xff0c;要求&#xff1a; 1&#xff09;设计PID控制回路&#xff0c;能够实现闭环系统 &#xff0c;稳态误差在斜坡输入情况下为0。…

纸黄金实战投资技巧:避免亏损的有效策略

在纸黄金交易的实战中&#xff0c;避免亏损是每位投资者都追求的目标。虽然任何投资都存在一定的风险&#xff0c;但采取一些有效的策略可以帮助投资者最大限度地减少亏损的可能性。以下是一些在纸黄金交易中避免亏损的实战技巧&#xff1a; 一、设定止损点是避免亏损的关键 止…

【Linux】

Linux零基础入门 列出文件/文件夹新建/切换路径查看当前路径重命名或者移动文件夹拷贝文件/文件夹删除文件夹设置环境变量编辑文本文件压缩和解压查看cpu的信息查看/杀死进程查看进程的CPU和内存占用重定向日志场景一场景二场景三场景四 列出文件/文件夹 命令&#xff1a;Ls(L…

All the stories begin at installation

Before installation, there are some key points about Conan: “Conan is a dependency and package manager for C and C languages.”“With full binary management, Conan can create and reuse any number of different binaries (for different configurations like a…

基于SpringBoot的智慧社区居家养老健康管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

【温故而知新】HTML5 WebSocket

文章目录 前言一、概念二、案例三、属性四、事件五、方法六、常见问题 前言 HTML5是HTML的最新版本&#xff0c;它引入了许多新的元素和功能&#xff0c;以适应现代网页开发的需求。以下是HTML5的一些主要特点&#xff1a; 新增语义元素&#xff1a;HTML5引入了许多新的语义元…

Kafka常见指令及监控程序介绍

kafka在流数据、IO削峰上非常有用&#xff0c;以下对于这款程序&#xff0c;做一些常见指令介绍。 下文使用–bootstrap-server 10.0.0.102:9092,10.0.0.103:9092,10.0.0.104:9092 需自行填写各自对应的集群IP和kafka的端口。 该写法 等同 –bootstrap-server localhost:9092 …

Unity 抽象工厂模式(实例详解)

文章目录 简介实例1实例2 简介 抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一种方式来封装一组相关或相互依赖对象的创建过程&#xff0c;而无需指定具体类。这种模式常用于系统中有多组相关产品族&#xff0c;且客户端需要使用不同产品族中的对象时。 在Unity中&a…

mysql事务日志和MVCC

1.mysql的redolog日志和undolog日志的作用&#xff1f; A redolog主要作用是保证提交commit的数据的成功 将修改的数据在正式提交commit前进行记录 记录的方式&#xff0c;将日志从内存刷新给文件缓存&#xff0c;文件缓存什么时候落盘由操作系统自行决定(2) redolog日志的主要…

Windows7关闭谷歌浏览器提示“若要接收后续 Google Chrome 更新,您需使用 Windows 10 或更高版本”的方法

背景 电脑比较老&#xff0c;系统一直没有更新&#xff0c;硬件和软件版本如下&#xff1a; 操作系统版本&#xff1a;Windows7 企业版 谷歌浏览器版本&#xff1a;109.0.5414.120&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; 该版本的谷歌浏览器是支持…

MySQL不同插入方式性能对比实验

最近负责的项目需要数据同步入库MySQL&#xff0c;为了测速那种入库方式效率比较高&#xff0c;为此进行了以下的对比实验&#xff0c;在此记录一下 实验表单数据格式 实验代码 共三种方法对比 mutiSqlInsert: 一条一条插入&#xff0c;最后一次提交 singleSqlInsert&…

LabVIEW滚动轴承故障在线监测

展示了如何将LabVIEW开发出一种有效的滚动轴承故障在线监测系统。介绍了该系统的开发过程、工作原理及其在实际应用中的效果。该系统成功地应用于对滚动轴承故障的早期诊断&#xff0c;提高了故障检测的准确性和效率。 滚动轴承在工作过程中会产生复杂的振动信号&#xff0c;包…

Proxmox VE 8 试装Oracle 23c

作者&#xff1a;田逸&#xff08;formyz&#xff09; Oracle 当前的最新版本是23c&#xff0c;虽然官方网站下载不了它的正式版本&#xff0c;但是却提供了一个性能受限的免费版本“Oracle Database 23.3 Free”&#xff08;存储容量受限、内存使用受限&#xff09;。这里就只…

[机缘参悟-129] :个人对人生之苦解决之道的思考

目录 前言&#xff1a; 第1层&#xff1a;环境层 1.1 环境的分类 1.2 理解环境的运作的基本原理 1.3 主动选择适合自己的愉快的环境 1.4 主动构建适合自己的愉快的环境 第2层&#xff1a;生理层 2.1 生理健康和情绪之间的关系 2.2 学习人的生物、生理、健康的基本知识…