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

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

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;
}
相关推荐
吃好睡好便好7 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
王璐WL7 小时前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
不知名的忻8 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
运筹vivo@9 小时前
2657. 找到两个数组的前缀公共数组 | 难度:中等
算法·leetcode·职场和发展·哈希表
索木木9 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
Lumbrologist10 小时前
【C++】零基础入门 · 第 1 节:第一个程序 Hello World 与编译运行
开发语言·c++
_李小白10 小时前
【C++学习笔记】新特性之inline变量
c++·笔记·学习
心中有国也有家10 小时前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构
桀人10 小时前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++
小O的算法实验室11 小时前
2026年MCS,Q-learning增强MOPSO与改进DWA融合算法+复杂三维地形下特定移动机器人动态路径规划
算法