蓝桥杯填充(贪心)

1<=n<=1e6

思路:因为题目要求字串不重叠,所以当我们遍历到某一个字符时可以将它先与前面的比较,如果前面的字符没有配对且与它相等,那么匹配,否则就继续向下遍历,如果遍历到?,其实就是少了判断相等的步骤。

每次只看前面的,因为是连续且不重叠子串,所以如果前面的字符与 该字符不匹配,那么它一定不能与后面的字符匹配。而且这样匹配也不会影响后面字符的匹配。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	string s;
	cin>>s;
	int n=s.size(),ans=0;
	vector<int> v(n);
    for(int i=0;i<n;i++)
	{
		if(i==0) continue;
		if(i>0)
		{
			if(!v[i-1])
			{
				if(s[i]==s[i-1]||s[i]=='?'||s[i-1]=='?') 
				    {
				    	v[i]=1;
				    	v[i-1]=1;
				    	ans++;
					} 
			}
		}
	}
	cout<<ans<<endl;
	return 0;
 } 
相关推荐
睡不醒的kun32 分钟前
leetcode算法刷题的第二十三天
数据结构·c++·算法·leetcode·职场和发展·贪心算法
sssvangen2 小时前
拔河(蓝桥杯)(前缀和)
算法·前缀和·职场和发展·蓝桥杯
你我约定有三2 小时前
面试tips--JVM(4)--Minor GC & Major GC & Full GC
jvm·面试·职场和发展
武子康3 小时前
AI-调查研究-67-具身智能 核心技术构成全解析:感知、决策、学习与交互的闭环系统
人工智能·科技·学习·程序人生·ai·职场和发展·职场发展
青鱼入云4 小时前
【面试场景题】如何理解设计模式
设计模式·面试·职场和发展
软件测试媛10 小时前
14:00面试,15:00就出来了,问的问题过于变态了。。。
面试·职场和发展
SmartBrain11 小时前
华为研发投资与管理实践(IPD)读书笔记
华为·职场和发展·创业创新
007php00712 小时前
Go 面试题: new 和 make 是什么,差异在哪?
后端·算法·docker·容器·面试·职场和发展·golang
武子康13 小时前
AI-调查研究-65-机器人 机械臂控制技术的前世今生:从PLC到MPC
人工智能·ai·职场和发展·机器人·职场发展·个人开发·gp
KanS115 小时前
百度前端岗位--面试真题分析
前端·面试·职场和发展