Skip to content

Commit 7c548e4

Browse files
committed
feat: add solutions to lc problem: No.0495. Teemo Attacking
1 parent 77940f9 commit 7c548e4

File tree

6 files changed

+135
-4
lines changed

6 files changed

+135
-4
lines changed

solution/0400-0499/0495.Teemo Attacking/README.md

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
<li>你可以假定提莫攻击时间序列中的数字和提莫攻击的中毒持续时间都是非负整数,并且不超过 10,000,000。</li>
4141
</ol>
4242

43-
4443
## 解法
4544

4645
<!-- 这里可写通用的实现逻辑 -->
@@ -52,15 +51,62 @@
5251
<!-- 这里可写当前语言的特殊实现逻辑 -->
5352

5453
```python
55-
54+
class Solution:
55+
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
56+
n, res = len(timeSeries), duration
57+
for i in range(n - 1):
58+
res += min(duration, timeSeries[i + 1] - timeSeries[i])
59+
return res
5660
```
5761

5862
### **Java**
5963

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

6266
```java
67+
class Solution {
68+
public int findPoisonedDuration(int[] timeSeries, int duration) {
69+
int n = timeSeries.length, res = duration;
70+
for (int i = 0; i < n - 1; ++i) {
71+
res += Math.min(duration, timeSeries[i + 1] - timeSeries[i]);
72+
}
73+
return res;
74+
}
75+
}
76+
```
77+
78+
### **C++**
79+
80+
```cpp
81+
class Solution {
82+
public:
83+
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
84+
int n = timeSeries.size(), res = duration;
85+
for (int i = 0; i < n - 1; ++i) {
86+
res += min(duration, timeSeries[i + 1] - timeSeries[i]);
87+
}
88+
return res;
89+
}
90+
};
91+
```
6392
93+
### **Go**
94+
95+
```go
96+
func findPoisonedDuration(timeSeries []int, duration int) int {
97+
n, res := len(timeSeries), duration
98+
for i := 0; i < n-1; i++ {
99+
res += min(duration, timeSeries[i+1]-timeSeries[i])
100+
}
101+
return res
102+
}
103+
104+
func min(a, b int) int {
105+
if a < b {
106+
return a
107+
}
108+
return b
109+
}
64110
```
65111

66112
### **...**

solution/0400-0499/0495.Teemo Attacking/README_EN.md

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,67 @@ So you finally need to output 3.
4141
<li><code>timeSeries</code> is sorted in non-decreasing order.</li>
4242
</ul>
4343

44-
4544
## Solutions
4645

4746
<!-- tabs:start -->
4847

4948
### **Python3**
5049

5150
```python
52-
51+
class Solution:
52+
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
53+
n, res = len(timeSeries), duration
54+
for i in range(n - 1):
55+
res += min(duration, timeSeries[i + 1] - timeSeries[i])
56+
return res
5357
```
5458

5559
### **Java**
5660

5761
```java
62+
class Solution {
63+
public int findPoisonedDuration(int[] timeSeries, int duration) {
64+
int n = timeSeries.length, res = duration;
65+
for (int i = 0; i < n - 1; ++i) {
66+
res += Math.min(duration, timeSeries[i + 1] - timeSeries[i]);
67+
}
68+
return res;
69+
}
70+
}
71+
```
72+
73+
### **C++**
74+
75+
```cpp
76+
class Solution {
77+
public:
78+
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
79+
int n = timeSeries.size(), res = duration;
80+
for (int i = 0; i < n - 1; ++i) {
81+
res += min(duration, timeSeries[i + 1] - timeSeries[i]);
82+
}
83+
return res;
84+
}
85+
};
86+
```
5887
88+
### **Go**
89+
90+
```go
91+
func findPoisonedDuration(timeSeries []int, duration int) int {
92+
n, res := len(timeSeries), duration
93+
for i := 0; i < n-1; i++ {
94+
res += min(duration, timeSeries[i+1]-timeSeries[i])
95+
}
96+
return res
97+
}
98+
99+
func min(a, b int) int {
100+
if a < b {
101+
return a
102+
}
103+
return b
104+
}
59105
```
60106

61107
### **...**
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public:
3+
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
4+
int n = timeSeries.size(), res = duration;
5+
for (int i = 0; i < n - 1; ++i) {
6+
res += min(duration, timeSeries[i + 1] - timeSeries[i]);
7+
}
8+
return res;
9+
}
10+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
func findPoisonedDuration(timeSeries []int, duration int) int {
2+
n, res := len(timeSeries), duration
3+
for i := 0; i < n-1; i++ {
4+
res += min(duration, timeSeries[i+1]-timeSeries[i])
5+
}
6+
return res
7+
}
8+
9+
func min(a, b int) int {
10+
if a < b {
11+
return a
12+
}
13+
return b
14+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution {
2+
public int findPoisonedDuration(int[] timeSeries, int duration) {
3+
int n = timeSeries.length, res = duration;
4+
for (int i = 0; i < n - 1; ++i) {
5+
res += Math.min(duration, timeSeries[i + 1] - timeSeries[i]);
6+
}
7+
return res;
8+
}
9+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Solution:
2+
def findPoisonedDuration(self, timeSeries: List[int], duration: int) -> int:
3+
n, res = len(timeSeries), duration
4+
for i in range(n - 1):
5+
res += min(duration, timeSeries[i + 1] - timeSeries[i])
6+
return res

0 commit comments

Comments
 (0)