单调递增最长子序列
来源:互联网 发布:不用网络的小说软件 编辑:程序博客网 时间:2024/06/02 05:29
我突然发现还算法还是真的很重要,从现在开始到毕业找工作每天刷一道题,实在是被虐惨了,自己好菜呀
/*描述
求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入
第一行一个整数0<n<20,表示有n个字符串要处理
随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出
输出字符串的最长递增子序列的长度
样例输入
3
aaa
ababc
abklmncdefg
样例输出
1
3
7*/
拿到这个题的时候我的思路是这样的,要求最大的递增子串和,我可以把这个问题划分成先求最小段的最大子串和(即以一个字符,最大和为1),在这个基础上后面每添加一个字符串就判断一次最大子串和是否加一。
#include <stdio.h>
#include <string.h>
int main()
{
int n;//组数
scanf("%d",&n);
while (n--)
{
char str[10005];
int sum[10005];//存储最大子字符串的个数的数组
int i,j;
int count=1;
scanf("%s",str);
for(i=0;i<10005;i++)
{
sum[i]=1;
}
for(i=0;i<strlen(str);i++)//前i段
for(j=i+1;j<strlen(str);j++)
{
if(str[j]>str[i])//每增加一个字符判断一次最大和是否加一
{
sum[j]=1+sum[i];
}
}
count=1;
for(i=0;i<strlen(str);i++)
{
if(count<sum[i])
count=sum[i];
}
printf("%d\n",count);
}
return0;
}
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 单调递增最长子序列
- 单调递增最长子序列
- 最长单调递增子序列
- 单调递增最长子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 单调递增最长子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- 最长单调递增子序列
- ubutun中非root用户使用过程中出现sudo问题
- 初入java
- Linux 学习方法介绍
- LintCode | 68. 二叉树的后序遍历
- C/C++中do{...}while(0)的作用
- 单调递增最长子序列
- maven创建spring项目之后,启动报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade
- HTML-DOCtype
- matlab矩阵的基本操作
- VMware虚拟机上Ubuntu安装TensorFlow 1.0
- Android Studio SVN 使用方法
- Linux下命令使用笔记
- MySQL中tinytext、text、mediumtext和longtext详解
- struts2之implements SessionAware, ServletRequestAware, ServletResponseAware原理分析