Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0be76a2

Browse files
author
ruislan
committed
Merge branch 'master' of https://github.com/ruislan/leetcode
2 parents 7697194 + d3a6fe6 commit 0be76a2

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

‎src/q/mod.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ mod q485;
257257
mod q492;
258258
mod q493;
259259
mod q494;
260+
mod q495;
260261
mod q496;
261262
mod q500;
262263
mod q501;

‎src/q/q495.rs‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
use crate::q::Solution;
2+
3+
#[allow(unused)]
4+
impl Solution {
5+
pub fn find_poisoned_duration(time_series: Vec<i32>, duration: i32) -> i32 {
6+
// 方法1
7+
// 迭代时间序列,如果这个时间点在停止时间之前或者相等,
8+
// 则只需要计算这个时间点和开始时间得差(不用+1,因为后续会用这个停止时间作为开始时间,+1就重复计算了)
9+
// 否则,就只需要累加一个duration即可,最后再累加一次duration,即为总时间
10+
// AC 4ms 2.2mb 38/38
11+
let mut ans = 0;
12+
let mut start = time_series[0];
13+
let n = time_series.len();
14+
for i in 1..n {
15+
if time_series[i] <= start + duration - 1 {
16+
ans += time_series[i] - start;
17+
} else {
18+
ans += duration;
19+
}
20+
start = time_series[i];
21+
}
22+
ans + duration
23+
}
24+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /