FastPrepFastPrep
Problem Brief

The Longest Spike

FULLTIMEOA

We will call a sequence of integers a spike if they first increase (strictly) and then decrease (also strictly, including the last element of the increasing part). For example (4, 5, 7, 6, 3, 2) is a spike, but (1, 1, 5, 4, 3 and (1, 4, 3, 5) are not. Note that the increasing and decreasing parts always intersect, e.g.: for spike (3, 5, 2) sequence (3, 5) is an increasing part and sequence (5, 2) is a decreasing part, and for spike (2) sequence (2) is both an increasing and a descreasing part.

You are given an array A of N integers. Your task is to calculate the length of the longest possible spike, which can be created from numbers from array A. Note that you are NOT supposed to find the longest spike as a sub-sequence of A, but rather choose some numbers from A and reorder them to create the longest spike.

Given an array A of integers of length N, returns the length of the longest spike which can be created from the numbers from A.

Desmond rocks! 🤘

1Example 1

Input
A = [1, 2]
Output
2
Explanation
As (1, 2) is already a spike :)

2Example 2

Input
A = [2, 5, 3, 2, 4, 1]
Output
6
Explanation
N/A T~T
public int longestSpike(int[] A) {
  // write your code here
}
Input

A

[1, 2]

Output

2

Sign in to submit your solution.