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);
}
}
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);
}
}