FastPrepGet Maximum Events

Get Maximum Events

Amazon logoAmazon● HardFULLTIMEOA
Learn

Problem statement

You are given an array payload of size n, where payload[i] represents the size of the (i)-th event payload. The task is to select a subset of events and rearrange them into a new array optimizedPayload that satisfies the following conditions:

  • The first segment is strictly increasing.
  • The second segment is strictly decreasing.
  • The third segment is strictly increasing.

The goal is to maximize the number of events included in optimizedPayload.

Function Specification:

Complete the function getMaximumEvents in the editor.

getMaximumEvents has the following parameter:

  1. int payload[n]: Array of payload sizes.

Output:

int: Maximum number of events that can be selected.

Function

getMaximumEvents(payload: int[]) → int

Examples

Example 1

payload = [1, 3, 5, 4, 2, 6, 8, 7, 9]return = 9

The subset optimizedPayload = [1, 3, 5, 4, 2, 6, 7, 8, 9] satisfies the increasing-decreasing-increasing sequence configuration.

Constraints

  • 2 ≤ n ≤ 2×10^5
  • 1 ≤ payload[i] ≤ 10^9
  • payload contains at least 2 distinct elements.

More Amazon problems

See Amazon hiring insights
public int getMaximumEvents(int[] payload) {
  // write your code here
}
payload[1, 3, 5, 4, 2, 6, 8, 7, 9]
expected9
Checking account…