题解 | #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-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
可可可可可_:nb啊,看样子是专科玩了几年随便专升本了个民办,又玩了两年。你这能找到我吃
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务