diff --git a/solution/3100-3199/3169.Count Days Without Meetings/README.md b/solution/3100-3199/3169.Count Days Without Meetings/README.md index 62d0f4d43c51d..cc2ea2020497e 100644 --- a/solution/3100-3199/3169.Count Days Without Meetings/README.md +++ b/solution/3100-3199/3169.Count Days Without Meetings/README.md @@ -183,6 +183,29 @@ function countDays(days: number, meetings: number[][]): number { } ``` +#### Rust + +```rust +impl Solution { + pub fn count_days(days: i32, mut meetings: Vec>) -> i32 { + meetings.sort_by_key(|m| m[0]); + let mut ans = 0; + let mut last = 0; + + for e in meetings { + let st = e[0]; + let ed = e[1]; + if last < st { + ans += st - last - 1; + } + last = last.max(ed); + } + + ans + (days - last) + } +} +``` + diff --git a/solution/3100-3199/3169.Count Days Without Meetings/README_EN.md b/solution/3100-3199/3169.Count Days Without Meetings/README_EN.md index 5373d1f894693..f2b12970df9e6 100644 --- a/solution/3100-3199/3169.Count Days Without Meetings/README_EN.md +++ b/solution/3100-3199/3169.Count Days Without Meetings/README_EN.md @@ -181,6 +181,29 @@ function countDays(days: number, meetings: number[][]): number { } ``` +#### Rust + +```rust +impl Solution { + pub fn count_days(days: i32, mut meetings: Vec>) -> i32 { + meetings.sort_by_key(|m| m[0]); + let mut ans = 0; + let mut last = 0; + + for e in meetings { + let st = e[0]; + let ed = e[1]; + if last < st { + ans += st - last - 1; + } + last = last.max(ed); + } + + ans + (days - last) + } +} +``` + diff --git a/solution/3100-3199/3169.Count Days Without Meetings/Solution.rs b/solution/3100-3199/3169.Count Days Without Meetings/Solution.rs new file mode 100644 index 0000000000000..e46e8fd7b4ce6 --- /dev/null +++ b/solution/3100-3199/3169.Count Days Without Meetings/Solution.rs @@ -0,0 +1,18 @@ +impl Solution { + pub fn count_days(days: i32, mut meetings: Vec>) -> i32 { + meetings.sort_by_key(|m| m[0]); + let mut ans = 0; + let mut last = 0; + + for e in meetings { + let st = e[0]; + let ed = e[1]; + if last < st { + ans += st - last - 1; + } + last = last.max(ed); + } + + ans + (days - last) + } +}