1629. Slowest Key Easy
1/**
2 * [1629] Slowest Key
3 *
4 * A newly designed keypad was tested, where a tester pressed a sequence of n keys, one at a time.
5 * 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 the time 0, and every subsequent key was pressed at the exact time the previous key was released.
6 * 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].
7 * 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.
8 * 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.
9 *
10 * Example 1:
11 *
12 * Input: releaseTimes = [9,29,49,50], keysPressed = "cbcd"
13 * Output: "c"
14 * Explanation: The keypresses were as follows:
15 * Keypress for 'c' had a duration of 9 (pressed at time 0 and released at time 9).
16 * Keypress for 'b' had a duration of 29 - 9 = 20 (pressed at time 9 right after the release of the previous character and released at time 29).
17 * Keypress for 'c' had a duration of 49 - 29 = 20 (pressed at time 29 right after the release of the previous character and released at time 49).
18 * Keypress for 'd' had a duration of 50 - 49 = 1 (pressed at time 49 right after the release of the previous character and released at time 50).
19 * The longest of these was the keypress for 'b' and the second keypress for 'c', both with duration 20.
20 * 'c' is lexicographically larger than 'b', so the answer is 'c'.
21 *
22 * Example 2:
23 *
24 * Input: releaseTimes = [12,23,36,46,62], keysPressed = "spuda"
25 * Output: "a"
26 * Explanation: The keypresses were as follows:
27 * Keypress for 's' had a duration of 12.
28 * Keypress for 'p' had a duration of 23 - 12 = 11.
29 * Keypress for 'u' had a duration of 36 - 23 = 13.
30 * Keypress for 'd' had a duration of 46 - 36 = 10.
31 * Keypress for 'a' had a duration of 62 - 46 = 16.
32 * The longest of these was the keypress for 'a' with duration 16.
33 *
34 * Constraints:
35 *
36 * releaseTimes.length == n
37 * keysPressed.length == n
38 * 2 <= n <= 1000
39 * 1 <= releaseTimes[i] <= 10^9
40 * releaseTimes[i] < releaseTimes[i+1]
41 * keysPressed contains only lowercase English letters.
42 *
43 */
44pub struct Solution {}
45
46// problem: https://leetcode.com/problems/slowest-key/
47// discuss: https://leetcode.com/problems/slowest-key/discuss/?currentPage=1&orderBy=most_votes&query=
48
49// submission codes start here
50
51impl Solution {
52 pub fn slowest_key(release_times: Vec<i32>, keys_pressed: String) -> char {
53 '0'
54 }
55}
56
57// submission codes end
58
59#[cfg(test)]
60mod tests {
61 use super::*;
62
63 #[test]
64 fn test_1629() {
65 }
66}
67
Back
© 2025 bowen.ge All Rights Reserved.