题目
类型:数组
解题思路
用 rt 来代指 releaseTimes,用 kp 来代指 keysPressed
根据题意,从先往后处理每个 kp[i],计算每次的持续时间(当前结束时间与上次时间的差值)rt[i] - rt[i - 1] ,遍历过程中维护最大持续时间和对应的字符下标。
代码
class Solution {public char slowestKey(int[] rt, String kp) {int n = rt.length, idx = 0, max = rt[0];for (int i = 1; i < n; i++) {int cur = rt[i] - rt[i - 1];if (cur > max) {idx = i; max = cur;} else if (cur == max && kp.charAt(i) > kp.charAt(idx)) {idx = i;}}return kp.charAt(idx);}}
