Problem · Array

Maximum Escape Game Score

MediumMicrosoftOA
See Microsoft hiring insights

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.

Examples
01 · Example 1
elements = [5, 6, 6, 4, 11]
return = 27

Delete 11 for 11 points. Since there are no elements equal to 11 - 1 = 10 or 11 + 1 = 12, proceed with the remaining elements: [5, 6, 6, 4].

Delete the two 6s for 12 more points. Delete any elements equal to 6 - 1 = 5 or 6 + 1 = 7. Then proceed with the remaining elements: [4].

Deleting 4 gives 4 more points, so the total score is 11 + 12 + 4 = 27.

Source note (June 28, 2026): The original post did not include the output for this example. FastPrep worked it out from the problem statement and the given input. If you have the original output or notice something wrong, please let us know and we'll fix it. If we find the original source later, we'll come back and update this too. 🦊

More Microsoft problems
drafts saved locally
public int maxEscapeGameScore(int[] elements) {
  // write your code here
}
elements[5, 6, 6, 4, 11]
expected27
checking account