符合条件的最短序列

来源:互联网 发布:计量经济学第四版数据 编辑:程序博客网 时间:2024/05/18 01:05
package com.crack;


public class Short {
int leftpart(int[] array)
{
for(int i=1;i<array.length;i++)
{
if(array[i] <array[i-1])
return i-1;
}
return array.length-1;
}




int rightpart(int[] array)
{
for(int i=array.length-2;i>=0;i--)
{
if(array[i]>array[i+1])
return i+1; 
}
return 0;
}


int shiftleft(int[] array,int minindex,int left)
{
int min=array[minindex];
for(int i=left;i>=0;i--)
{
if(array[i]<min)
return i+1;
}
return 0;
}


int shiftright(int[] array,int maxindex,int right)
{
int max=array[maxindex];
for(int i=right;i<array.length;i++)
{
if(array[i]>max)
return i-1;
}
return array.length-1;
}


void findUnsoertedSequence(int[] array)
{
int leftend=leftpart(array);
int rightstart=rightpart(array);
int minindex=leftend+1;
int maxindex=rightstart-1;
for(int i=leftend+1;i<=rightstart-1;i++)
{
if(array[i]<array[minindex])
minindex=i;
if(array[i]>array[maxindex])
maxindex=i;

}
int leftindex=shiftleft(array,minindex,leftend);
int rightindex=shiftright(array,maxindex,rightstart);
System.out.println(leftindex+""+rightindex);
}
}
0 0
原创粉丝点击