Skip to content

Commit b8f3094

Browse files
authored
Update Slowest Key.java
1 parent 288affd commit b8f3094

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

Easy/Slowest Key.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
class Solution {
22
public char slowestKey(int[] releaseTimes, String keysPressed) {
3-
int maxReleaseTime = 0;
4-
int maxReleaseTimeIdx = 0;
5-
for (int idx = 0; idx < releaseTimes.length; idx++) {
6-
int currentIdx = keysPressed.charAt(idx) - 'a';
7-
int currReleaseTime = releaseTimes[idx] - (idx == 0 ? 0 : releaseTimes[idx - 1]);
8-
if (currReleaseTime >= maxReleaseTime) {
9-
if (currReleaseTime > maxReleaseTime) {
10-
maxReleaseTimeIdx = currentIdx;
11-
} else if (currentIdx > maxReleaseTimeIdx) {
12-
maxReleaseTimeIdx = currentIdx;
13-
}
14-
maxReleaseTime = currReleaseTime;
3+
int startTime = 0;
4+
int maxPressedTime = 0;
5+
char keyWithLongestTime = keysPressed.charAt(0);
6+
for (int i = 0; i < releaseTimes.length; i++) {
7+
int totalTime = releaseTimes[i] - startTime;
8+
if (maxPressedTime < totalTime) {
9+
keyWithLongestTime = keysPressed.charAt(i);
10+
maxPressedTime = totalTime;
11+
} else if (maxPressedTime == totalTime && keyWithLongestTime < keysPressed.charAt(i)) {
12+
keyWithLongestTime = keysPressed.charAt(i);
1513
}
14+
startTime = releaseTimes[i];
1615
}
17-
return (char) (97 + maxReleaseTimeIdx);
16+
return keyWithLongestTime;
1817
}
1918
}

0 commit comments

Comments
 (0)