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

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

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;
}
相关推荐
CHANG_THE_WORLD10 分钟前
金字塔降低采样
算法·金字塔采样
不知天地为何吴女士2 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界2 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
liulilittle3 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜5 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970445 小时前
力扣 hot100 Day56
算法·leetcode
PAK向日葵6 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱喝矿泉水的猛男8 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展
YuTaoShao8 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
YouQian7728 小时前
Traffic Lights set的使用
算法