小红的白色字符串

题目描述

小红拿到了一个字符串,她准备将一些字母变成白色,变成白色的字母看上去就和空格一样,这样字符串就变成了一些单词。

现在小红希望,每个单词都满足以下两种情况中的一种:

1.开头第一个大写,其余为小写(长度为 1 的大写字母也是合法的)。

2.所有字符全部是小写。

小红想知道,最少需要将多少字母变成白色?

输入描述:

一个仅包含大小写字母的字符串。

字符串长度不超过200000

输出描述:

复制代码
将字母变成白色的最小数量。

输入

复制代码
aDRRanko

输出

复制代码
2

说明

复制代码
将第二个和第三个字母变成白色即可,字符串变成 "a  Ranko"
cpp 复制代码
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
#define long long ll;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	string s;
	cin>>s;
	int n=s.length();
	int i;
	int count=0;
	for(i=n-1;i>=0;i--)
	{
		if(islower(s[i]))
			continue;
		else
		{
			if(i)
			{
				count++;
				s[i-1]='a';
				i--;
			}
		}
	}
	cout<<count;
}
相关推荐
小尧嵌入式3 分钟前
Linux的shell命令
linux·运维·服务器·数据库·c++·windows·算法
hd51cc7 分钟前
MFC消息处理机制
c++·mfc
兵哥工控9 分钟前
MFC使用串口类通讯实例
c++·mfc·串口通讯·串口类
承渊政道15 分钟前
C++学习之旅【实战全面解析C++类和对象】
c++·笔记·学习
懂AI的老郑18 分钟前
深入理解C++中的堆栈:从数据结构到应用实践
java·数据结构·c++
胡萝卜3.020 分钟前
现代C++特性深度探索:模板扩展、类增强、STL更新与Lambda表达式
服务器·开发语言·前端·c++·人工智能·lambda·移动构造和移动赋值
晚风(●•σ )22 分钟前
C++语言程序设计——12 排序算法-桶排序
c++·算法·排序算法
淀粉肠kk24 分钟前
【数据结构】哈希表
数据结构·c++
郝学胜-神的一滴26 分钟前
Linux C++会话编程:从基础到实践
linux·运维·服务器·开发语言·c++·程序人生·性能优化
AA陈超26 分钟前
LyraStarterGame_5.6 Experience系统分析
开发语言·c++·笔记·学习·ue5·lyra