Skip to content

Commit eaa3afd

Browse files
committedJan 9, 2022
feat: add solutions to lc problem: No.1629
No.1629.Slowest Key
1 parent a81b502 commit eaa3afd

File tree

6 files changed

+177
-2
lines changed

6 files changed

+177
-2
lines changed
 

‎solution/1600-1699/1629.Slowest Key/README.md

+62-1
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,76 @@
6969
<!-- 这里可写当前语言的特殊实现逻辑 -->
7070

7171
```python
72-
72+
class Solution:
73+
def slowestKey(self, releaseTimes: List[int], keysPressed: str) -> str:
74+
ans = keysPressed[0]
75+
mx = releaseTimes[0]
76+
for i in range(1, len(keysPressed)):
77+
d = releaseTimes[i] - releaseTimes[i - 1]
78+
if d > mx or (d == mx and ord(keysPressed[i]) > ord(ans)):
79+
mx = d
80+
ans = keysPressed[i]
81+
return ans
7382
```
7483

7584
### **Java**
7685

7786
<!-- 这里可写当前语言的特殊实现逻辑 -->
7887

7988
```java
89+
class Solution {
90+
public char slowestKey(int[] releaseTimes, String keysPressed) {
91+
char ans = keysPressed.charAt(0);
92+
int mx = releaseTimes[0];
93+
for (int i = 1; i < releaseTimes.length; ++i) {
94+
int d = releaseTimes[i] - releaseTimes[i - 1];
95+
if (d > mx || (d == mx && keysPressed.charAt(i) > ans)) {
96+
mx = d;
97+
ans = keysPressed.charAt(i);
98+
}
99+
}
100+
return ans;
101+
}
102+
}
103+
```
104+
105+
### **C++**
106+
107+
```cpp
108+
class Solution {
109+
public:
110+
char slowestKey(vector<int>& releaseTimes, string keysPressed) {
111+
char ans = keysPressed[0];
112+
int mx = releaseTimes[0];
113+
for (int i = 1, n = releaseTimes.size(); i < n; ++i)
114+
{
115+
int d = releaseTimes[i] - releaseTimes[i - 1];
116+
if (d > mx || (d == mx && keysPressed[i] > ans))
117+
{
118+
mx = d;
119+
ans = keysPressed[i];
120+
}
121+
}
122+
return ans;
123+
}
124+
};
125+
```
80126
127+
### **Go**
128+
129+
```go
130+
func slowestKey(releaseTimes []int, keysPressed string) byte {
131+
ans := keysPressed[0]
132+
mx := releaseTimes[0]
133+
for i := 1; i < len(releaseTimes); i++ {
134+
d := releaseTimes[i] - releaseTimes[i-1]
135+
if d > mx || (d == mx && keysPressed[i] > ans) {
136+
mx = d
137+
ans = keysPressed[i]
138+
}
139+
}
140+
return ans
141+
}
81142
```
82143

83144
### **...**

‎solution/1600-1699/1629.Slowest Key/README_EN.md

+62-1
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,74 @@ The longest of these was the keypress for &#39;a&#39; with duration 16.</pre>
6161
### **Python3**
6262

6363
```python
64-
64+
class Solution:
65+
def slowestKey(self, releaseTimes: List[int], keysPressed: str) -> str:
66+
ans = keysPressed[0]
67+
mx = releaseTimes[0]
68+
for i in range(1, len(keysPressed)):
69+
d = releaseTimes[i] - releaseTimes[i - 1]
70+
if d > mx or (d == mx and ord(keysPressed[i]) > ord(ans)):
71+
mx = d
72+
ans = keysPressed[i]
73+
return ans
6574
```
6675

6776
### **Java**
6877

6978
```java
79+
class Solution {
80+
public char slowestKey(int[] releaseTimes, String keysPressed) {
81+
char ans = keysPressed.charAt(0);
82+
int mx = releaseTimes[0];
83+
for (int i = 1; i < releaseTimes.length; ++i) {
84+
int d = releaseTimes[i] - releaseTimes[i - 1];
85+
if (d > mx || (d == mx && keysPressed.charAt(i) > ans)) {
86+
mx = d;
87+
ans = keysPressed.charAt(i);
88+
}
89+
}
90+
return ans;
91+
}
92+
}
93+
```
94+
95+
### **C++**
96+
97+
```cpp
98+
class Solution {
99+
public:
100+
char slowestKey(vector<int>& releaseTimes, string keysPressed) {
101+
char ans = keysPressed[0];
102+
int mx = releaseTimes[0];
103+
for (int i = 1, n = releaseTimes.size(); i < n; ++i)
104+
{
105+
int d = releaseTimes[i] - releaseTimes[i - 1];
106+
if (d > mx || (d == mx && keysPressed[i] > ans))
107+
{
108+
mx = d;
109+
ans = keysPressed[i];
110+
}
111+
}
112+
return ans;
113+
}
114+
};
115+
```
70116
117+
### **Go**
118+
119+
```go
120+
func slowestKey(releaseTimes []int, keysPressed string) byte {
121+
ans := keysPressed[0]
122+
mx := releaseTimes[0]
123+
for i := 1; i < len(releaseTimes); i++ {
124+
d := releaseTimes[i] - releaseTimes[i-1]
125+
if d > mx || (d == mx && keysPressed[i] > ans) {
126+
mx = d
127+
ans = keysPressed[i]
128+
}
129+
}
130+
return ans
131+
}
71132
```
72133

73134
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution {
2+
public:
3+
char slowestKey(vector<int>& releaseTimes, string keysPressed) {
4+
char ans = keysPressed[0];
5+
int mx = releaseTimes[0];
6+
for (int i = 1, n = releaseTimes.size(); i < n; ++i)
7+
{
8+
int d = releaseTimes[i] - releaseTimes[i - 1];
9+
if (d > mx || (d == mx && keysPressed[i] > ans))
10+
{
11+
mx = d;
12+
ans = keysPressed[i];
13+
}
14+
}
15+
return ans;
16+
}
17+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
func slowestKey(releaseTimes []int, keysPressed string) byte {
2+
ans := keysPressed[0]
3+
mx := releaseTimes[0]
4+
for i := 1; i < len(releaseTimes); i++ {
5+
d := releaseTimes[i] - releaseTimes[i-1]
6+
if d > mx || (d == mx && keysPressed[i] > ans) {
7+
mx = d
8+
ans = keysPressed[i]
9+
}
10+
}
11+
return ans
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution {
2+
public char slowestKey(int[] releaseTimes, String keysPressed) {
3+
char ans = keysPressed.charAt(0);
4+
int mx = releaseTimes[0];
5+
for (int i = 1; i < releaseTimes.length; ++i) {
6+
int d = releaseTimes[i] - releaseTimes[i - 1];
7+
if (d > mx || (d == mx && keysPressed.charAt(i) > ans)) {
8+
mx = d;
9+
ans = keysPressed.charAt(i);
10+
}
11+
}
12+
return ans;
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def slowestKey(self, releaseTimes: List[int], keysPressed: str) -> str:
3+
ans = keysPressed[0]
4+
mx = releaseTimes[0]
5+
for i in range(1, len(keysPressed)):
6+
d = releaseTimes[i] - releaseTimes[i - 1]
7+
if d > mx or (d == mx and ord(keysPressed[i]) > ord(ans)):
8+
mx = d
9+
ans = keysPressed[i]
10+
return ans

0 commit comments

Comments
 (0)