总结:查找子字符串出现次数

总结方法:题目一是动态规划思想,题目二是滑动窗口思想,但是本质都是动态统计:确定子串某个字符位置,统计前面配对次数,以此累加计算即可

1.蓝桥字符

题目链接:1.蓝桥字符【算法赛】 - 蓝桥云课

cpp 复制代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s; 
signed main()
{
	cin>>s;
	int sum1=0,sum2=0,sum3=0;
	for(char ch:s)
	{
		if(ch=='l')
		{
			sum1++;
		}
		else if(ch=='a')
		{
			sum2+=sum1;
		}
		else if(ch=='n')
		{
			sum3+=sum2;
		}
	}
	cout<<sum3<<endl;
	return 0;
}

2.子串简写

题目链接:1.子串简写 - 蓝桥云课

cpp 复制代码
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
	ll k,sum=0,sum1=0;
	string s;
	char c1,c2;
	cin>>k>>s>>c1>>c2;
	for(int i=0,j=k-1;j<s.size();i++,j++)
	{
		if(s[i]==c1) sum++;
		if(s[j]==c2) sum1+=sum;
	}
	cout<<sum1<<endl;
	return 0;
}
相关推荐
?!71411 分钟前
数据结构之哈夫曼树
c语言·数据结构·c++·算法
xiaoli232719 分钟前
机器学习朴素贝叶斯算法
人工智能·算法·机器学习
xin007hoyo23 分钟前
算法笔记.约数个数
数据结构·笔记·算法
yy鹈鹕灌顶26 分钟前
十大排序算法全面解析(Java实现)及优化策略
java·算法·排序算法
CodeWithMe28 分钟前
【中间件】brpc_基础_butex.h
c++·中间件·rpc
sunshineine28 分钟前
Linux系统安装PaddleDetection
linux·运维·服务器·人工智能·算法
n33(NK)30 分钟前
【算法基础】三指针排序算法 - JAVA
java·算法·排序算法
.格子衫.1 小时前
014枚举之指针尺取——算法备赛
java·c++·算法
明月看潮生1 小时前
青少年编程与数学 02-018 C++数据结构与算法 24课题、密码学算法
c++·算法·青少年编程·密码学·编程与数学
小小白?2 小时前
64.搜索二维矩阵
数据结构·线性代数·算法·矩阵