当前位置: 首页 > news >正文

力扣9.24

2207. 字符串中最多数目的子序列

给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包含小写英文字母。

你可以在 text 中任意位置插入 一个 字符,这个插入的字符必须是 pattern[0] 或者 pattern[1] 。注意,这个字符可以插入在 text 开头或者结尾的位置。

请你返回插入一个字符后,text 中最多包含多少个等于 pattern 的 子序列 。

子序列 指的是将一个字符串删除若干个字符后(也可以不删除),剩余字符保持原本顺序得到的字符串。

数据范围

  • 1 <= text.length <= 105
  • pattern.length == 2
  • textpattern 都只包含小写英文字母。

分析

贪心,可以发现,若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 &#xff0c;两者都只包含小写英文字母。 你可以在 text 中任意位置插入 一个 字符&#xff0c;这个插入的字符必须是 pattern[0] 或者 pattern[1] 。…...

NRF21540—低功耗蓝牙,蓝牙mesh、Thread和Zigbee和2.4 GHz私有协议范围扩展射频前端模块

nRF21540是一款射频前端模块(FEM)&#xff0c;可用于改善短距离无线产品的传输范围和连接鲁棒性。作为一款辅助性设备&#xff0c;nRF21540是一种“即插即用型”的无线传输范围扩展器&#xff0c;可与nRF52和nRF53系列的高级多协议无线SoC搭配使用&#xff0c;所需的外部器件数…...

2024最新Linux Socket编程

我们深谙信息交流的价值&#xff0c;那网络中进程之间如何通信&#xff0c;如我们每天打开浏览器浏览网页时&#xff0c;浏览器的进程怎么与web服务器通信的&#xff1f;当你用QQ聊天时&#xff0c;QQ进程怎么与服务器或你好友所在的QQ进程通信&#xff1f;这些都得靠socket&am…...

Linux下的驱动开发二

一、IO模型 I/O 模型在操作系统中用于处理应用程序与设备驱动之间的数据传输。I/O 通信模型的核心是解决程序与设备之间如何高效、合理地进行数据通信。不同的模型通过阻塞、非阻塞、同步、异步的方式来控制数据流和处理 I/O 请求。 注&#xff1a;在驱动开发中可以定义一个全…...

【JAVA报错已解决】 Java.lang.ArrayIndexOutOfBoundsException

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

2024 CSP 游记

J 组 初赛 早上也是五点钟就起来 打游戏 了。 考点在八达小学&#xff0c;除了感觉小、破、旧就没有其他感觉&#xff08; 我妈也是成功的给我提前一小时到达考场。 拿到试卷后&#xff0c;瞄一眼&#xff0c;咋这么简单&#xff0c;和一本通的模拟卷难度一样&#xff1f;…...

双十一有什么推荐好物?,这些你不能错过的宝藏好物推荐

随着双十一的临近&#xff0c;这场盛大的购物狂欢蓄势待发&#xff01;为了让大家不在琳琅满目的商品中徘徊&#xff0c;琪琪用心归纳了一份购物清单&#xff0c;分享那些我亲自使用过&#xff0c;觉得必须拥有的商品。 这些商品不仅价格公道&#xff0c;而且质量上乘&#xf…...

NSSCTF [HUBUCTF 2022 新生赛]simple_RE(变种base64编码)

文件无壳 拖入IDA中 shiftF12查看可疑字符串 发现两串字符串 一看这两个等于号就猜测是base64编码 进入主函数看看 这段代码是一个简单的 C 语言程序&#xff0c;主要功能是接受用户输入的字符串作为“flag”&#xff0c;然后通过对输入的字符串进行一些处理和比较来验证是否输…...

clickhouse使用extract提取分号之前,之后,中间的内容

Area&#xff1a;‘安徽;宣城;宣州’&#xff0c;要提取分号之前&#xff0c;两个分号之前&#xff0c;最后一个分号之后的内容作为省市区 这是最后得到的正确的结果&#xff0c;感谢chatgpt 刚开始本来想使用splitByString -- 宣城 select splitByString(;,安徽;宣城;宣州)[2…...

Unity3D Compute Shader同步详解

前言 在Unity3D中&#xff0c;Compute Shader是一种强大的工具&#xff0c;它利用GPU的并行处理能力来执行复杂的计算任务&#xff0c;从而减轻CPU的负担&#xff0c;提高游戏的性能和效率。然而&#xff0c;由于GPU的工作方式&#xff0c;对共享资源的访问需要特别注意同步问…...

3D模型在UI设计中应用越来越多,给UI带来了什么?

当前3D模型在UI设计中应用很多&#xff0c;极大地拓展了UI设计的发挥空间&#xff0c;也拓宽了UI的应用领域&#xff0c;本文分享下UI中引入3D模型到底能带来什么价值. 3D模型在UI设计中的应用可以给用户界面带来以下几个方面的好处&#xff1a; 更真实的视觉体验&#xff1a;…...

前端框架的选择与考量:一场技术的盛宴

在当今快速迭代的Web开发领域&#xff0c;前端框架的选择成为了项目启动初期不可忽视的重要环节。随着React、Vue、Angular等主流框架的崛起&#xff0c;以及Svelte、Quasar等新兴力量的加入&#xff0c;开发者们面临着前所未有的选择难题。本文旨在探讨前端框架的选择依据、主…...

第五部分:7---信号的捕捉

目录 信号递达期间&#xff0c;该信号会被屏蔽直到递达完成。 sigaction实现信号的捕捉&#xff1a; 案例&#xff1a;在处理2号信号时屏蔽3号信号。 子进程退出向父进程发送SIGCHLD信号&#xff1a; 信号递达期间&#xff0c;该信号会被屏蔽直到递达完成。 当某个信号的处…...

HarmonyOS鸿蒙开发实战( Beta5.0)页面加载效果实现详解实践案例

鸿蒙HarmonyOS开发实战往期必看文章&#xff1a;&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发性能实践总结&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发案例实践总结合集&#xff08;持续更新......&#xff09; 一分钟了解”纯血版&…...

计算机网络中的VLAN详解

文章目录 计算机网络中的VLAN详解一、引言二、VLAN的作用与原理1、VLAN的作用2、VLAN的工作原理2.1、VLAN标签&#xff08;Tag&#xff09; 三、VLAN的配置与接口类型1、VLAN的配置2、接口类型 四、VLAN的应用场景1、企业网络2、数据中心3、教育网络 五、VLAN间的通信六、总结 …...

Nacos学习

系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程&#xff1a;封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…...

后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0926)

十四、文章分类添加编辑 [element-plus 弹层] Git仓库&#xff1a;https://gitee.com/msyycn/vue3-hei-ma.git 点击显示弹层 准备弹层 const dialogVisible ref(false)<el-dialog v-model"dialogVisible" title"添加弹层" width"30%">…...

验收测试:从需求到交付的全程把控!

在软件开发过程中&#xff0c;验收测试是一个至关重要的环节。它不仅是对软件质量的把关&#xff0c;也是对整个项目周期的全程把控。从需求分析到最终的软件交付&#xff0c;验收测试都需要严格进行&#xff0c;以确保软件能够符合预期的质量和性能要求。 一、需求分析阶段 在…...

第十七节 鼠标的操作与相应

知识点 -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大湾区国际胶粘剂及密封剂展览会 时间&#xff1a;2025年6月25-27日 地址&#xff1a;深圳国际会展中心&#xff08;新馆&#xff09; UV胶、快干胶、结构粘结胶、导热胶、低温黑胶、硅胶、SMT贴片红胶、底部填充胶、低温热固胶、COB黑胶、围堰填充胶、U…...

Three.js可视化开发:用辅助类打造交互式3D教学演示

Three.js可视化开发&#xff1a;用辅助类打造交互式3D教学演示 在数字化教育蓬勃发展的今天&#xff0c;3D可视化技术正在彻底改变传统教学模式。想象一下&#xff0c;当学生能够亲手旋转分子结构、观察物理碰撞的实时模拟&#xff0c;或是探索历史建筑的立体空间关系时&#x…...

晶体塑性有限元显式代码VUMAT(同时也包含umat子程序),基于黄永刚umat的vumat子...

晶体塑性有限元显式代码VUMAT&#xff08;同时也包含umat子程序&#xff09;&#xff0c;基于黄永刚umat的vumat子送学习资料。黄永刚huang.for晶体塑性子程序具有良好的收敛性&#xff0c;以及较高的计算效率&#xff0c;在一般变形下可直接使用。 然而在一些特殊的工况下&…...

多核编程避坑指南:为什么你的共享变量总是不听话?

多核编程避坑指南&#xff1a;为什么你的共享变量总是不听话&#xff1f; 想象一下这样的场景&#xff1a;你和同事同时编辑一份在线文档&#xff0c;两人都在某个单元格里输入数字并点击"保存"。理论上两次操作应该让数字增加两次&#xff0c;但最终结果可能只增加了…...

OpenClaw技能扩展:基于nanobot实现Markdown自动转换

OpenClaw技能扩展&#xff1a;基于nanobot实现Markdown自动转换 1. 为什么需要文档自动化转换 在日常工作中&#xff0c;我们经常需要处理各种格式的文档——Word、PDF、PPT、Excel甚至网页内容。手动将这些文档转换为Markdown格式不仅耗时&#xff0c;还容易出错。作为一名技…...

LeetCode刷题实战:用并查集(Union-Find)秒杀“朋友圈”和“岛屿数量”这类题目(附Python/Java代码)

并查集实战&#xff1a;用Union-Find高效解决LeetCode朋友圈与岛屿问题 在算法面试中&#xff0c;并查集&#xff08;Union-Find&#xff09;是一种常被忽视却威力巨大的数据结构。它能在近乎常数时间内完成集合合并与查询操作&#xff0c;特别适合处理动态连通性问题。本文将以…...

攻克Atlas OS中Xbox应用登录错误0x89235107的完整方案

攻克Atlas OS中Xbox应用登录错误0x89235107的完整方案 【免费下载链接】Atlas &#x1f680; 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工程时&#xff0c;我遇到了几个典型的编译错误。最常见的就是license报错&#xff0c;这个坑我踩过三次。当你看到"License expired"或者"Invalid license"提示时&#xff0c;别急着重装软件…...

终极指南:如何用HS2-HF Patch轻松实现Honey Select 2中文本地化

终极指南&#xff1a;如何用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为核心&#xff0c;所有外围设备都围绕CPU进行配置。这种架构最显著的特点是硬件可裁剪性&#xff0c;设计者可以根据具体应用需求灵活调整系统组成。在典型的嵌入式硬件设计中&#xff0c;需要重…...

维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪...

维纳滤波语音信号降噪Matlab程序含报告 包含6页文档报告。 使用了维纳滤波的技术去除高斯噪声&#xff0c; 程序可以直接运行&#xff0c;附带声音。 无需多余操作&#xff0c;点击运行即可。 程序经过多次测试&#xff0c;包成功运行&#xff0c;附带运行操作视频。最近在折腾…...