Slowest Key

A newly designed keypad was tested, where a tester pressed a sequence of n keys, one at a time.

You are given a string keysPressed of length n, where keysPressed[i] was the i^th key pressed in the testing sequence, and a sorted list releaseTimes, where releaseTimes[i] was the time the i^th key was released. Both arrays are 0-indexed. The 0^th key was pressed at time 0, and every subsequent key was pressed at the exact time the previous key was released.

The tester wants to know the key of the keypress that had the longest duration. The i^th keypress had a duration of releaseTimes[i] - releaseTimes[i - 1], and the 0^th keypress had a duration of releaseTimes[0].

Note that the same key could have been pressed multiple times during the test, and these multiple presses of the same key may not have had the same duration.

Return the key of the keypress that had the longest duration. If there are multiple such keypresses, return the lexicographically largest key of the keypresses.

Example 1
InputreleaseTimes = [9,29,49,50], keysPressed = "cbcd"
Output"c"
The longest duration is 20 for both 'b' and the second 'c', and 'c' is lexicographically larger than 'b'.
Example 2
InputreleaseTimes = [12,23,36,46,62], keysPressed = "spuda"
Output"a"
The longest duration is 16 for the keypress 'a'.

Constraints

  • releaseTimes.length == n
  • keysPressed.length == n
  • 2 <= n <= 1000
  • 1 <= releaseTimes[i] <= 10^9
  • releaseTimes[i] < releaseTimes[i+1]
  • keysPressed contains only lowercase English letters.

Asked at 1 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate