Member-only story
Leetcode 1629: Slowest Key
In this Leetcode problem, we are given a String representing a list of keys pressed on a keyboard. We are given the time for which each key was released in the array int[] releaseTimes
. We assume that at the exact same time that a key is released, the next key is pressed, and that the first key started to be pressed at the time 0
. We are asked to find the character corresponding to the key that was pressed the longest. In case of the same duration, we should return the key that is the greatest.
Here is the exact problem statement:
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 lengthn
, wherekeysPressed[i]
was theith
key pressed in the testing sequence, and a sorted listreleaseTimes
, wherereleaseTimes[i]
was the time theith
key was released. Both arrays are 0-indexed. The0th
key was pressed at the time0
, 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
ith
keypress had a duration ofreleaseTimes[i] - releaseTimes[i - 1]
, and the0th
keypress had a duration ofreleaseTimes[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…