FastPrepMaximum Escape Game Score

Maximum Escape Game Score

Microsoft logoMicrosoft● MediumNEW GRADINTERNOA
Learn

Problem statement

In an escape game, players must solve puzzles to earn points and progress. One puzzle involves an array of integers and specific rules for earning points. Here are the rules:

  1. Select a value v. Remove all occurrences of that value from the array and add their sum to your score.
  2. Remove all elements equal to v + 1 or v - 1 without scoring points.
  3. Repeat steps 1 and 2 until the array is empty.

Determine the maximum score that can be obtained by following these rules.

Function

maxEscapeGameScore(elements: int[]) → long

Examples

Example 1

elements = [5,6,6,4,11]return = 27

Delete 11 for 11 points. Next, delete the two 6s for 12 points, which removes 5 without scoring. Finally, delete 4 for 4 points, giving 11 + 12 + 4 = 27.

Example 2

elements = [3,4,2]return = 6

Delete 4 for 4 points, which removes 3 without scoring. Deleting the remaining 2 gives a total score of 6.

Constraints

  • 1 ≤ elements.length ≤ 10^5
  • 1 ≤ elements[i] ≤ 10^5

Source note: The additional source frame shows the long return type, constraints, and another example.

More Microsoft problems

See Microsoft hiring insights
public long maxEscapeGameScore(int[] elements) {
  // Write your code here.
}
elements[5,6,6,4,11]
expected27
Checking account…