Problem Β· Array

Longest Non Decreasing Subarray Part 2

Learn this problem
● MediumGoogle logoGoogleNEW GRADPHONE SCREEN
See Google hiring insights

Problem statement

Note πŸ“ - This is a follow up question of Find Maximum Length of Non-Decreasing Subarray Part 1 🦭

You can choose any one index and change its value to any number that you like. What will be the longest non decreasing subarray now:

In the same example as before, the answer would now be:

ans = 6, [2 4 6 8 0 9], by changing 0 -> 8 so the subarray becomes non-decreasing.

Function

longestNonDecreasingSubarray(nums: int[]) β†’ int

Examples

Example 1

nums = [2, 4, 6, 8, 0, 9]return = 6
By changing the value at index 4 from 0 to 8, the array becomes [2, 4, 6, 8, 8, 9], which is non-decreasing. The length of this subarray is 6, which is the longest possible non-decreasing subarray after making one change.

Constraints

  • 1 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9
  • You may change at most one element to any integer value.

More Google problems

drafts saved locally
public int longestNonDecreasingSubarray(int[] nums) {
  // write your code here
}
nums[2, 4, 6, 8, 0, 9]
expected6
checking account