From ee8646a12e0047bc7a2f2adc1a8d4a3973875a22 Mon Sep 17 00:00:00 2001 From: xiaolatiao <1628652790@qq.com> Date: Sat, 15 Jul 2023 09:32:23 +0800 Subject: [PATCH] feat: add rust solution to lc problem: No.2566 Signed-off-by: xiaolatiao <1628652790@qq.com> --- .../README.md | 33 +++++++++++++++++++ .../README_EN.md | 33 +++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README.md b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README.md index d1d8aa9643dc4..2b945bfeed51f 100644 --- a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README.md +++ b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README.md @@ -197,6 +197,39 @@ impl Solution { } ``` +```rust +impl Solution { + pub fn min_max_difference(num: i32) -> i32 { + let mut s = num.to_string().into_bytes(); + let first = s[0]; + for i in 0..s.len() { + if s[i] == first { + s[i] = b'0'; + } + } + let mi = String::from_utf8_lossy(&s).parse::().unwrap(); + + let mut t = num.to_string().into_bytes(); + for i in 0..t.len() { + if t[i] != b'9' { + let second = t[i]; + + for j in 0..t.len() { + if t[j] == second { + t[j] = b'9'; + } + } + + let mx = String::from_utf8_lossy(&t).parse::().unwrap(); + return mx - mi; + } + } + + num - mi + } +} +``` + ### **C** ```c diff --git a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md index 4c89b8400a644..2bc82fbae9635 100644 --- a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md +++ b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md @@ -175,6 +175,39 @@ impl Solution { } ``` +```rust +impl Solution { + pub fn min_max_difference(num: i32) -> i32 { + let mut s = num.to_string().into_bytes(); + let first = s[0]; + for i in 0..s.len() { + if s[i] == first { + s[i] = b'0'; + } + } + let mi = String::from_utf8_lossy(&s).parse::().unwrap(); + + let mut t = num.to_string().into_bytes(); + for i in 0..t.len() { + if t[i] != b'9' { + let second = t[i]; + + for j in 0..t.len() { + if t[j] == second { + t[j] = b'9'; + } + } + + let mx = String::from_utf8_lossy(&t).parse::().unwrap(); + return mx - mi; + } + } + + num - mi + } +} +``` + ### **C** ```c