This code does not pass all the test cases, why?
Maximum length bitonic subarray
hello @ayushtiwari12
the question is asking for maximum lenght bitonic subarray
but ur solution will find maximum lenght bitonic sub sebsequence
in case of subarray the elements should be present in consective indices.
We create two arrays - ‘inc’ and ‘dec’
- inc[i] stores the length of increasing subarray till i.
- dec[i] stores the length of decreasing subarray starting from index i.
- Doing so gives us the length of increasing and decreasing subarray at each index in O(n) time.
- We calculate the length of the longest bitonic subarray by finding the maximum inc[i] + dec[i] - 1
- We subtract one since the current element at ith index is included in both the increasing and decreasing subarray lengths.
Algorithm
- Initialize inc[0] to 1 and dec[n-1] to 1
- Creating inc[] array
a. Till end of the array ie, i=1 to n, if arr[i] > arr[i-1] then inc[i] = inc[i-1] + 1. else, inc[i] = 1 - Creating dec[] array
a. From the end of the array ie, i = n-2 till i =0, if arr[i] > arr[i+1] then dec[i] = dec[i+1] +1 else, dec[i] = 1.
I’m still facing problem can you tell me via my code.
Thankyou for explaining, now I got it.