FastPrepMinimum Magic Stones After Merges

Minimum Magic Stones After Merges

ElevenLabs logoElevenLabs● EasyFULLTIMEOA
Learn

Problem statement

Each magic stone has a positive integer level. At any time, two stones of the same level may merge into one stone whose level is one greater.

Return the minimum possible number of stones after performing any number of merges.

Function

minimumMagicStones(levels: int[]) → int

Examples

Example 1

levels = [1,2,1]return = 1

The two level-1 stones merge into level 2, then the two level-2 stones merge into one level-3 stone.

Example 2

levels = [4,4,4]return = 2

Two stones merge into level 5 and one level-4 stone remains.

Constraints

  • 1 <= levels.length <= 10^5.
  • 1 <= levels[i] < 10^4.
  • Merged levels may exceed the largest input level.

More ElevenLabs problems

See ElevenLabs hiring insights
public int minimumMagicStones(int[] levels) {
    // Write your code here.
}
levels[1,2,1]
expected1
Checking account…