本文主要是介绍最长山峰序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大神面试
Num : 4 Time Limit : 1000ms Memory Limit : 65536K
description
面试官给了一个序列,让找出最长的“山峰子序列”。
何为“山峰序列”:数列中有一个ai,所有a0 < a1 < a2….ai-1< ai且ai>ai+1>ai+2>….>an-1
eg:12345431,是山峰序列,12345234不是山峰序列
注:单调递增或单调递减序列也算山峰序列;单独一个数是长度为1的山峰序列
input
输入有多组每组第一行有一个n(3<=n<=1000),第二行n个数依次为ai 0 < ai< 1000000
output
输出最长山峰子序列的长度
sample_input
5
1 2 3 3 1
6
1 2 3 4 5 6
sample_output
4
6
hint
这道题是一道最长上升子序列的变形,你只要从后往前和从前往后找两次最长上升子序列,然后遍历一下每个点找出和最长的即可。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<io
这篇关于最长山峰序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!