题解 | #Redraiment的走法#

Redraiment的走法

https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa

//Redraiment是走梅花桩的高手。Redraiment可以选择任意一个起点,从前到后,
//但只能从低处往高处的桩子走。他希望走的步数最多,你能替Redraiment研究他最多走的步数吗?
//本题是最长不下降子序列

//测试用例  1 2 3 -9 3 9 0 11  输出6
#include <iostream>
#include <algorithm>
#define MAX 201
using namespace std;
//int num[MAX];
int A[MAX],dp[MAX];
int main(int argc, char const *argv[])
{
	int n;
	cin>>n;
	for (int i = 1; i <=n; ++i)
	{
		cin>>A[i];
	}
	int ans=-1;//记录最大的dp[i]
	for (int i =1; i <=n; ++i)
	{
		dp[i]=1;//初始边界条件
		for (int j = 1; j< i; ++j)
		{
			if(A[i]>A[j]&&(dp[j]+1>dp[i]))
			{
				dp[i]=dp[j]+1;
			}
		}
		ans=max(ans,dp[i]);
	}
	cout<<ans<<endl;
	system("pause");

	return 0;
}

全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务