almostIncreasingSequence

Given a sequence of  integers as an array, determine whether it is possible to obtain a strictly increasing sequence by removing no more than one element from the array.

Solution :

boolean almostIncreasingSequence(int[] sequence) {

    int a = 0;
    for(int i = 0; i < sequence.length - 1; i++){
        if(sequence[i + 1] <= sequence[i]){
            a = i + 1;
            break;
        }
    }
    if(isIncreasing(sequence,a)){
        if(a != 1 && a != sequence.length - 1){
            if(sequence[a - 2] < sequence[a] || sequence[a - 1] < sequence[a + 1])
            return true;
            else return false;
        }
        return true; 
    }
    else{
        if(sequence[a - 1] < sequence[a + 1] && isIncreasing(sequence, a + 1))
            return true;
        else return false;
    }

}
boolean isIncreasing(int[] seq, int start){
    int tag = 0;
    for(int i = start; i < seq.length - 1; i++){
       if(seq[i] >= seq[i + 1]){
           tag++;
           break;
       }
    }
    if(tag != 0)
        return false;
    else return true;

}




Comments