Class Solution
- java.lang.Object
-
- g2501_2600.s2555_maximize_win_from_two_segments.Solution
-
public class Solution extends Object
2555 - Maximize Win From Two Segments.Medium
There are some prizes on the X-axis. You are given an integer array
prizePositions
that is sorted in non-decreasing order , whereprizePositions[i]
is the position of theith
prize. There could be different prizes at the same position on the line. You are also given an integerk
.You are allowed to select two segments with integer endpoints. The length of each segment must be
k
. You will collect all prizes whose position falls within at least one of the two selected segments (including the endpoints of the segments). The two selected segments may intersect.- For example if
k = 2
, you can choose segments[1, 3]
and[2, 4]
, and you will win any prize i that satisfies1 <= prizePositions[i] <= 3
or2 <= prizePositions[i] <= 4
.
Return the maximum number of prizes you can win if you choose the two segments optimally.
Example 1:
Input: prizePositions = [1,1,2,2,3,3,5], k = 2
Output: 7
Explanation:
In this example, you can win all 7 prizes by selecting two segments [1, 3] and [3, 5].
Example 2:
Input: prizePositions = [1,2,3,4], k = 0
Output: 2
Explanation:
For this example, one choice for the segments is
[3, 3]
and[4, 4],
and you will be able to get2
prizes.Constraints:
1 <= prizePositions.length <= 105
1 <= prizePositions[i] <= 109
0 <= k <= 109
prizePositions
is sorted in non-decreasing order.
- For example if
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
maximizeWin(int[] a, int k)
-