力扣9.24
2207. 字符串中最多数目的子序列
给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包含小写英文字母。
你可以在 text 中任意位置插入 一个 字符,这个插入的字符必须是 pattern[0] 或者 pattern[1] 。注意,这个字符可以插入在 text 开头或者结尾的位置。
请你返回插入一个字符后,text 中最多包含多少个等于 pattern 的 子序列 。
子序列 指的是将一个字符串删除若干个字符后(也可以不删除),剩余字符保持原本顺序得到的字符串。
数据范围
1 <= text.length <= 105pattern.length == 2text和pattern都只包含小写英文字母。
分析
贪心,可以发现,若pattern[0]越往右放,它所贡献的子序列个数越小(只需要数后面有多少个pattern[1],因此pattern[0]最优的位置是放在开头,同理pattern[1]最优的位置是放在尾部,考虑这两种情况,求一下有多少子序列,然后取max
代码
typedef long long LL;
class Solution {
public:const static int N = 1e5 + 5;long long maximumSubsequenceCount(string text, string pattern) {int n = text.size();LL res1 = 0, res2 = 0;LL cnt1 = 1, cnt2 = 1;for(int i = 0; i < n; i ++ ) {if(text[i] == pattern[0] || text[i] == pattern[1]) {if(text[i] == pattern[1]) {res1 += cnt1;}if(text[i] == pattern[0]) cnt1 ++ ;}if(text[n - i - 1] == pattern[0] || text[n - i - 1] == pattern[1]) {if(text[n - i - 1] == pattern[0]) {res2 += cnt2;} if(text[n - i - 1] == pattern[1]) cnt2 ++ ;}}return max(res1, res2);}
};
相关文章:
力扣9.24
2207. 字符串中最多数目的子序列 给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包含小写英文字母。 你可以在 text 中任意位置插入 一个 字符,这个插入的字符必须是 pattern[0] 或者 pattern[1] 。…...
NRF21540—低功耗蓝牙,蓝牙mesh、Thread和Zigbee和2.4 GHz私有协议范围扩展射频前端模块
nRF21540是一款射频前端模块(FEM),可用于改善短距离无线产品的传输范围和连接鲁棒性。作为一款辅助性设备,nRF21540是一种“即插即用型”的无线传输范围扩展器,可与nRF52和nRF53系列的高级多协议无线SoC搭配使用,所需的外部器件数…...
2024最新Linux Socket编程
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket&am…...
Linux下的驱动开发二
一、IO模型 I/O 模型在操作系统中用于处理应用程序与设备驱动之间的数据传输。I/O 通信模型的核心是解决程序与设备之间如何高效、合理地进行数据通信。不同的模型通过阻塞、非阻塞、同步、异步的方式来控制数据流和处理 I/O 请求。 注:在驱动开发中可以定义一个全…...
【JAVA报错已解决】 Java.lang.ArrayIndexOutOfBoundsException
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...
2024 CSP 游记
J 组 初赛 早上也是五点钟就起来 打游戏 了。 考点在八达小学,除了感觉小、破、旧就没有其他感觉( 我妈也是成功的给我提前一小时到达考场。 拿到试卷后,瞄一眼,咋这么简单,和一本通的模拟卷难度一样?…...
双十一有什么推荐好物?,这些你不能错过的宝藏好物推荐
随着双十一的临近,这场盛大的购物狂欢蓄势待发!为了让大家不在琳琅满目的商品中徘徊,琪琪用心归纳了一份购物清单,分享那些我亲自使用过,觉得必须拥有的商品。 这些商品不仅价格公道,而且质量上乘…...
NSSCTF [HUBUCTF 2022 新生赛]simple_RE(变种base64编码)
文件无壳 拖入IDA中 shiftF12查看可疑字符串 发现两串字符串 一看这两个等于号就猜测是base64编码 进入主函数看看 这段代码是一个简单的 C 语言程序,主要功能是接受用户输入的字符串作为“flag”,然后通过对输入的字符串进行一些处理和比较来验证是否输…...
clickhouse使用extract提取分号之前,之后,中间的内容
Area:‘安徽;宣城;宣州’,要提取分号之前,两个分号之前,最后一个分号之后的内容作为省市区 这是最后得到的正确的结果,感谢chatgpt 刚开始本来想使用splitByString -- 宣城 select splitByString(;,安徽;宣城;宣州)[2…...
Unity3D Compute Shader同步详解
前言 在Unity3D中,Compute Shader是一种强大的工具,它利用GPU的并行处理能力来执行复杂的计算任务,从而减轻CPU的负担,提高游戏的性能和效率。然而,由于GPU的工作方式,对共享资源的访问需要特别注意同步问…...
3D模型在UI设计中应用越来越多,给UI带来了什么?
当前3D模型在UI设计中应用很多,极大地拓展了UI设计的发挥空间,也拓宽了UI的应用领域,本文分享下UI中引入3D模型到底能带来什么价值. 3D模型在UI设计中的应用可以给用户界面带来以下几个方面的好处: 更真实的视觉体验:…...
前端框架的选择与考量:一场技术的盛宴
在当今快速迭代的Web开发领域,前端框架的选择成为了项目启动初期不可忽视的重要环节。随着React、Vue、Angular等主流框架的崛起,以及Svelte、Quasar等新兴力量的加入,开发者们面临着前所未有的选择难题。本文旨在探讨前端框架的选择依据、主…...
第五部分:7---信号的捕捉
目录 信号递达期间,该信号会被屏蔽直到递达完成。 sigaction实现信号的捕捉: 案例:在处理2号信号时屏蔽3号信号。 子进程退出向父进程发送SIGCHLD信号: 信号递达期间,该信号会被屏蔽直到递达完成。 当某个信号的处…...
HarmonyOS鸿蒙开发实战( Beta5.0)页面加载效果实现详解实践案例
鸿蒙HarmonyOS开发实战往期必看文章:(持续更新......) HarmonyOS NEXT应用开发性能实践总结(持续更新......) HarmonyOS NEXT应用开发案例实践总结合集(持续更新......) 一分钟了解”纯血版&…...
计算机网络中的VLAN详解
文章目录 计算机网络中的VLAN详解一、引言二、VLAN的作用与原理1、VLAN的作用2、VLAN的工作原理2.1、VLAN标签(Tag) 三、VLAN的配置与接口类型1、VLAN的配置2、接口类型 四、VLAN的应用场景1、企业网络2、数据中心3、教育网络 五、VLAN间的通信六、总结 …...
Nacos学习
系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…...
后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0926)
十四、文章分类添加编辑 [element-plus 弹层] Git仓库:https://gitee.com/msyycn/vue3-hei-ma.git 点击显示弹层 准备弹层 const dialogVisible ref(false)<el-dialog v-model"dialogVisible" title"添加弹层" width"30%">…...
验收测试:从需求到交付的全程把控!
在软件开发过程中,验收测试是一个至关重要的环节。它不仅是对软件质量的把关,也是对整个项目周期的全程把控。从需求分析到最终的软件交付,验收测试都需要严格进行,以确保软件能够符合预期的质量和性能要求。 一、需求分析阶段 在…...
第十七节 鼠标的操作与相应
知识点 -event代表鼠标事件类型 -EVENT_LBUTTONDOWN鼠标左键按下 -EVENT_LBUTTONUP鼠标左键抬起 -EVENT_LBUTTONMOVE鼠标及移动 Point sp(-1, -1); Point ep(-1, -1); Mat temp; static void on_draw(int event, int x, int y, int flags, void* userdata) { Mat imag…...
深圳·2025胶粘剂展会 BOND第六届胶展
BOND第六届胶展、2025大湾区国际胶粘剂及密封剂展览会 时间:2025年6月25-27日 地址:深圳国际会展中心(新馆) UV胶、快干胶、结构粘结胶、导热胶、低温黑胶、硅胶、SMT贴片红胶、底部填充胶、低温热固胶、COB黑胶、围堰填充胶、U…...
Three.js可视化开发:用辅助类打造交互式3D教学演示
Three.js可视化开发:用辅助类打造交互式3D教学演示 在数字化教育蓬勃发展的今天,3D可视化技术正在彻底改变传统教学模式。想象一下,当学生能够亲手旋转分子结构、观察物理碰撞的实时模拟,或是探索历史建筑的立体空间关系时&#x…...
晶体塑性有限元显式代码VUMAT(同时也包含umat子程序),基于黄永刚umat的vumat子...
晶体塑性有限元显式代码VUMAT(同时也包含umat子程序),基于黄永刚umat的vumat子送学习资料。黄永刚huang.for晶体塑性子程序具有良好的收敛性,以及较高的计算效率,在一般变形下可直接使用。 然而在一些特殊的工况下&…...
多核编程避坑指南:为什么你的共享变量总是不听话?
多核编程避坑指南:为什么你的共享变量总是不听话? 想象一下这样的场景:你和同事同时编辑一份在线文档,两人都在某个单元格里输入数字并点击"保存"。理论上两次操作应该让数字增加两次,但最终结果可能只增加了…...
OpenClaw技能扩展:基于nanobot实现Markdown自动转换
OpenClaw技能扩展:基于nanobot实现Markdown自动转换 1. 为什么需要文档自动化转换 在日常工作中,我们经常需要处理各种格式的文档——Word、PDF、PPT、Excel甚至网页内容。手动将这些文档转换为Markdown格式不仅耗时,还容易出错。作为一名技…...
LeetCode刷题实战:用并查集(Union-Find)秒杀“朋友圈”和“岛屿数量”这类题目(附Python/Java代码)
并查集实战:用Union-Find高效解决LeetCode朋友圈与岛屿问题 在算法面试中,并查集(Union-Find)是一种常被忽视却威力巨大的数据结构。它能在近乎常数时间内完成集合合并与查询操作,特别适合处理动态连通性问题。本文将以…...
攻克Atlas OS中Xbox应用登录错误0x89235107的完整方案
攻克Atlas OS中Xbox应用登录错误0x89235107的完整方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atlas …...
基于FPGA的DDS在安路TD和EG4A20BG256上的调试技巧与实战经验(五)
1. 安路TD软件常见编译问题排查指南 第一次用安路TD软件编译DDS工程时,我遇到了几个典型的编译错误。最常见的就是license报错,这个坑我踩过三次。当你看到"License expired"或者"Invalid license"提示时,别急着重装软件…...
终极指南:如何用HS2-HF Patch轻松实现Honey Select 2中文本地化
终极指南:如何用HS2-HF Patch轻松实现Honey Select 2中文本地化 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为看不懂Honey Select 2的日文界…...
嵌入式硬件设计核心要点与实战技巧
嵌入式硬件设计关键要点解析1. 嵌入式系统硬件架构概述嵌入式系统的硬件架构以CPU为核心,所有外围设备都围绕CPU进行配置。这种架构最显著的特点是硬件可裁剪性,设计者可以根据具体应用需求灵活调整系统组成。在典型的嵌入式硬件设计中,需要重…...
维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪...
维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪声, 程序可以直接运行,附带声音。 无需多余操作,点击运行即可。 程序经过多次测试,包成功运行,附带运行操作视频。最近在折腾…...
