ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

E-Lexicographically Maximum Subsequence

2022-01-10 18:59:37  阅读:177  来源: 互联网

标签:字符 正序 int sum Maximum 100005 Subsequence strlen Lexicographically


题意

找一个串的最大字典序字串

题解

正序考虑会遇到无法确定这个数该不该选的情况,遇到的矛盾是无法确定后面有没有比它大的字母,所以我们只需要解决这个问题即可,做题时的基本思路就是正序不想试一试倒序能不能优化,我们可以记录住以i为结尾的最大字符然后第i-1个数与之比较,就可以确定当前字符是否能够输出。

#include<bits/stdc++.h>
using namespace std;
char s[100005], sum[100005];//sum[i]记录的是i后面的最大字符。
int main()
{
	scanf("%s", s + 1);
	int n = strlen(s + 1);
	for (int i = strlen(s + 1); i >= 1; i--)
	{
		sum[i] = max(sum[i + 1], s[i]);
	}
	for (int i = 1; i <= n; i++)
	{
		if (s[i] == sum[i])putchar(s[i]);
	}
}

标签:字符,正序,int,sum,Maximum,100005,Subsequence,strlen,Lexicographically
来源: https://blog.csdn.net/thexue/article/details/122394430

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有