From cf246d9ccc3deb2276414b2d3ffba4e04eb8ed87 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Fri, 11 Jul 2025 06:56:28 +0800 Subject: [PATCH] feat: add rust solution to lc problem: No.3169 No.3169.Count Days Without Meetings --- .../README.md | 23 +++++++++++++++++++ .../README_EN.md | 23 +++++++++++++++++++ .../Solution.rs | 18 +++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 solution/3100-3199/3169.Count Days Without Meetings/Solution.rs 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) + } +}