华为合唱队C++代码

#include "iostream"   
using namespace std;  

int main()
{
int arr[100],len,i;
scanf("%d",&len);
for(i=0;i
{
scanf("%d",&arr[i]);
}
int left[100];
int right[100];
for(i=0;i
{
left[i]=1;
right[i]=1;
}
for(int j=1;j
{
for(int k=0;k
{
if(arr[j]>arr[k]&&left[j]
left[j]=left[k]+1;
}
}
for(int j=len-2;j>=0;j--)
{
for(int k=len-1;k>j;k--)
{
if(arr[j]>arr[k]&&right[j]
right[j]=right[k]+1;
}
}
int min=len-(left[0]+right[0]-1);
for(i=1;i
{
int m=len-(left[i]+right[i]-1);
if(m
min=m;
}
printf("%d",min);
}

最长递增序列参考blog:http://blog.csdn.net/joylnwang/article/details/6766317

你可能感兴趣的:(面试刷题)