leetcode每日一题day14(24.9.24)——字符串最多的子序列

news/2024/9/28 11:04:58/


思路:对于应该首要和贡献联系起来,对于什么是贡献呢,即在某种情况下,会贡献出多少种,符合要求的结果,此题属于较为基础的,对于text中的一个字符如果是非pattern中的元素,则对结果无任何影响,如果出现pattern[0]则需考虑后方有多少个pattern[1],如果出现pattern[1]时则忽略,因为其在patern[0]中考虑过了,不能起点到终点算一次 ,终点到起点又算一次,对于最后的添加一个,也是差不多的既然可以随便放,当然选择放最边上,至于放哪边,则看pattern([0]/[1])谁多。

此时便容易联想到

        方案一从后方开始,遍历如果出现pattern[1]则计数一次,当某时刻遍历到pattern[0]时则在结果累加计数器的值,含义为对结果贡献了计数器组子序列,同时pattern[0]也需计数,用以最后的操作。

        对于方案一寻找漏洞:各有的的操作表面风平浪静,仔细一想,出现pattern[0]如果也同时出现了pattern[1],即pattern两字符相等,此时先后顺序应该怎么处理呢,仔细一想应该是先累加计数器的值,再对pattern进行计数的,思考过程忽略。

代码

long long maximumSubsequenceCount(string text, string pattern) {int len = text.length(), cut_0 = 0, cut_1 = 0;long int ret = 0;for (int i = 0; i < len; i++) {//先更新贡献,再继续计数,主要是为了应对pattern相同,不相同则无所谓先后,不存在同时满足情况。if (text[i] == pattern[1]) { // 如果是结尾元素,则计算贡献ret += cut_0;cut_1++;}if (text[i] == pattern[0]) { // 如果是起点元素,则进行计数cut_0++;}}return ret + max(cut_0, cut_1);}

结语:详细提到了心路历程,任然是大胆猜想,小心求证,在确定看下情况下尽可能考虑到更多的特殊情况。


http://www.ppmy.cn/news/1531501.html

相关文章

element下拉框联动 或 多选 回显数据后页面操作不生效问题解决

第一种:多选回显不生效 解决方式: 代码: <el-form-item label"系统" prop"Key"> <el-select v-model"addForm.Key" multiple placeholder"请选择" change"$forceUpdate()"> <el-option v-for"item …

【机器学习】绘图中使用plt(图像全局)和axes对象(局部子图)的区别

使用 axes对象 和 plt 的区别主要体现在图形绘制的灵活性和控制能力上。下面是详细的对比&#xff1a; 1. plt&#xff08;Matplotlib 的 pyplot 模块&#xff09; 全局状态: plt 函数使用的是 Matplotlib 的全局状态&#xff0c;通常只会影响当前活动的图形。这可能会导致在…

opencv实战项目二十八:基于Shi-Tomasi算法的箱子角点检测

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、角点检测方法概述二、Shi-Tomasi角点检测法 前言 随着科技的飞速发展&#xff0c;计算机视觉技术在我们的日常生活中扮演着越来越重要的角色。从无人驾驶汽…

iPhone不会爆炸?现实证明带电池的产品是真的可以变成武器的!

随着黎巴嫩的BP、太阳能电池板、家用电器等诸多消费电子产品爆炸伤人&#xff0c;一些人士也开始担忧美国的iPhone也可能爆炸&#xff0c;也有人反驳iPhone不会爆炸&#xff0c;那么iPhone这种电子产品到底能否远程控制将它变成武器呢&#xff1f;看看现实的诸多例子能给大家答…

【Golang】关于Go语言中的包

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

从供应链切入,0Day打穿靶标的全流程实战

前言 整体的思路梳理&#xff1a; 1.对某靶标单位信息收集&#xff0c; 发现靶标某个站点系统为通用系统。 2.对该通用系统供应商进行信息收集。 3.拿下该供应商CICD系统&#xff0c; 从而得到目标通用系统源码。 4.代码审计&#xff0c; 组合拳0day成功进入靶标内网。…

项目实战总结-Kafka实战应用核心要点

Kafka实战应用核心要点 一、前言二、Kafka避免重复消费2.1 消费者组机制2.2 幂等生产者2.3 事务性生产者/消费者2.4 手动提交偏移量2.5 外部存储管理偏移量2.6 去重逻辑2.7 幂等消息处理逻辑2.8 小结 三、Kafka持久化策略3.1 持久化文件3.2 segment 分段策略3.3 数据文件刷盘策…

ip是可以从能够上网的设备提取吗

是的&#xff0c;IP地址可以从能够上网的设备提取。以下是如何从不同设备提取IP地址的具体方法&#xff1a; 在电脑上提取IP地址 Windows: 打开命令提示符&#xff08;按下 Win R&#xff0c;输入 cmd&#xff0c;按回车&#xff09;。 输入命令 ipconfig&#xff0c;按回车。…