Try this O(n) unique C solution

int validMountainArray(int* arr, int size){
    int max = *(arr);
    for(int i = 0; i < size; i++){
        if(max < *(arr + i)){
            max = *(arr + i);
        }
    }
    
    if(max == *(arr + size - 1)) return 0;
    int i = 0;
    int is = 0;
    while(*(arr + i) != max && *(arr + i) < *(arr + i + 1)){
        is = 1;
        i += 1;
    }
    // i += 1;
    for(int j = i; j < size - 1; j++){
        if(*(arr + j) <= *(arr + j + 1)){
            is = 0;
            break;
        }
    }
    return is;
}

Mate If u Find this use full please upvote

Comments (0)