题解 | #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;
}

全部评论

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务