今天的题目比较简单,就不多说了。时间准备看看String的一些细致的知识点和源码里一些方法的实现。
链接如下:力扣1629https://leetcode-cn.com/problems/slowest-key/
代码如下:
package cn.daycode.leetcode;
public class SlowestKey {
public static void main(String[] args) {
Solution s = new Solution();
int[] releaseTimes = {9,29,49,50};
String keysPressed = "cbcd";
System.out.println(s.slowestKey(releaseTimes, keysPressed));
}
static class Solution {
public char slowestKey(int[] releaseTimes, String keysPressed) {
int lastReleaseTime = 0;
int slowestTime = 0;
char slowestChar = 0;
for (int i = 0; i < releaseTimes.length; i++) {
int temp = releaseTimes[i] - lastReleaseTime;
lastReleaseTime = releaseTimes[i];
// 持续时间长比之前最长的时间要长的情况
if(temp > slowestTime){
slowestTime = temp;
slowestChar = keysPressed.charAt(i);
// 持续时间跟之前最长的时间一样长的情况
}else if (temp == slowestTime){
slowestChar = slowestChar-keysPressed.charAt(i)>0?slowestChar:keysPressed.charAt(i);
}
}
return slowestChar;
}
}
}