import java.util.*;
public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence.length == 0){
return false;
}
int[] tmp = new int[sequence.length];
for(int i = 0; i< sequence.length; i++){
tmp[i] = sequence[i];
}
Arrays.sort(tmp);
return verify(sequence, tmp);
}
public boolean verify(int[] sequence, int[] tmp){
if(sequence.length == 0 && tmp.length == 0){return true;}
if(sequence.length != tmp.length){return false;}
if(sequence.length == tmp.length && sequence.length == 1 && sequence[0] == tmp[0]){return true;}
for(int i = 0; i < tmp.length; i++){
if(tmp[i] == sequence[sequence.length - 1]){
return verify(Arrays.copyOfRange(sequence, 0, i), Arrays.copyOfRange(tmp, 0, i))
&& verify(Arrays.copyOfRange(sequence, i, sequence.length - 1), Arrays.copyOfRange(tmp, i + 1, sequence.length));
}
}
return false;
}
}