poj1146

poj1146题目链接:http://poj.org/problem?id=1146题目大意:求一个字符串的后继字符串,即对一个字符串进行字典序排列的后一个!方法:对字符串进行从后向前进行遍历,如果直到找到后面的最大的非递增序列,然后在这个序列中找到比其前面大的最小的一个字母和其交换,再对交换后的后面的部分进行字典序排列再次进行输出即可以拉!#include#includeusingnam

大家好,又见面了,我是你们的朋友全栈君。

题目链接:http://poj.org/problem?id=1146

题目大意:求一个字符串的后继字符串,即对一个字符串进行字典序排列的后一个!

方法:对字符串进行从后向前进行遍历,如果直到找到后面的最大的非递增序列,然后在这个序列中找到比其前面大的最小的一个字母和其交换,再对交换后的后面的部分进行字典序排列再次进行输出即可以拉!

#include<iostream>
#include<string>
using namespace std;
int cmp(const void *a,const void *b)
{
	return *(char *)a-*(char *)b;
}
int main()
{
	char s[60];
	int i,j,sign,len;
	while(1)
	{
		gets(s);
		sign=0;
		len=strlen(s);
		if(len==1 && s[0]=='#')
			break;
		for(i=len-1; i>=1; i--)
			if(s[i-1]<s[i])
			{
				sign=1;
				break;
			}
		if(sign==0)
			printf("No Successor\n");
		else
		{ 
			char ma=120;
			int k;
			for(j=i; j<len; j++)
				if(s[j]<ma && s[j]>s[i-1])
				{
					ma=s[j];
					k=j;
				}
			char m=s[i-1];
			s[i-1]=s[k];
			s[k]=m;
			qsort(&s[i],len-i,sizeof(char),cmp);
			for(j=0; j<len; j++)
				printf("%c",s[j]);
             printf("\n");
		}
	}
	return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139939.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 传感器开发流程!_传感器工艺流程

    传感器开发流程!_传感器工艺流程今天公司要求我进行传感器的开发,而且只给2天时间,反映下自己没做过这方面可能需要时间延长下,不管,就给你两天时间!干不完就使劲加班…现在企业压榨劳动力太赤裸裸了

  • python numpy数组切片_python列表切片详解

    python numpy数组切片_python列表切片详解python的数组切片操作很强大,但有些细节老是忘,故写一点东西记录下来。在python&numpy中切片(slice)对于一维数组来说,python的list和numpy的array切片操作都是相似的。无非记住arr[start:end:step]即可下面是几个特殊的例子[:]表示复制源列表负的index表示,从后往前。-1表示最后一个元素。相对于一维数组而言,二维(多维)数组用的会更多…

  • Java实习入职华为,半年后我跑路了

    Java实习入职华为,半年后我跑路了0前言全是干货的技术殿堂文章收录在我的GitHub仓库,欢迎Star/fork:Java-Interview-Tutorialhttps://github.com/Wasabi1234/Java-Interview-Tutorial1何来?我,一个双非本科渣渣,有幸在19届的秋招中得到前东家华为(以下简称hw)的赏识,当时秋招签订就业协议,当时18年10月签订三方后Hr通知说是入了某java部门,之后一系列组织架构调整原因等等让人无法理解的骚操作,最终在毕业前夕的五

  • jQuery图片轮播特效

    效果预览:http://hovertree.com/texiao/jquery/51/这款特效有缩略图,包含文字说明和链接,可以自动播放,也可以手动切换。使用的jQuery库版本为1.12.3,

    2021年12月22日
  • linux 操作系统 哪个好用,一款非常好看好用的国产Linux操作系统发行版

    linux 操作系统 哪个好用,一款非常好看好用的国产Linux操作系统发行版原标题:一款非常好看好用的国产Linux操作系统发行版之前在网上看到有网友说,国产操作系统的界面不好看,很简陋很粗糙,就像是WindowsXP的那种年代久远的操作界面一样。也有网友反驳说,国产操作系统界面友好,看起来很舒服。那么事实上是怎样的呢?到底是国产操作系统的设计还停留在人家微软的远古时代,还是部分网友对国产操作系统的认知有偏差?下面我来为大家展示一下。笔者接下来为大家展示的,是在国内做是…

  • 使用java代码打印三角形、平行四边形、菱形

    使用java代码打印三角形、平行四边形、菱形

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号