20240905 finished.
This commit is contained in:
parent
12d3a89857
commit
49a4df064a
|
@ -226,3 +226,4 @@ mod p1450_number_of_students_doing_homework_at_a_given_time;
|
||||||
mod p2024_maximize_the_confusion_of_an_exam;
|
mod p2024_maximize_the_confusion_of_an_exam;
|
||||||
mod p2708_maximum_strength_of_a_group;
|
mod p2708_maximum_strength_of_a_group;
|
||||||
mod p2860_happy_students;
|
mod p2860_happy_students;
|
||||||
|
mod p3174_clear_digits;
|
50
src/problem/p3174_clear_digits.rs
Normal file
50
src/problem/p3174_clear_digits.rs
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/**
|
||||||
|
* [3174] Clear Digits
|
||||||
|
*/
|
||||||
|
pub struct Solution {}
|
||||||
|
|
||||||
|
|
||||||
|
// submission codes start here
|
||||||
|
|
||||||
|
impl Solution {
|
||||||
|
pub fn clear_digits(s: String) -> String {
|
||||||
|
let s: Vec<char> = s.chars().collect();
|
||||||
|
let mut mark = vec![true; s.len()];
|
||||||
|
|
||||||
|
for (i, &c) in s.iter().enumerate() {
|
||||||
|
if !c.is_ascii_digit() {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是数字
|
||||||
|
mark[i] = false;
|
||||||
|
let mut last = i - 1;
|
||||||
|
|
||||||
|
while !mark[last] {
|
||||||
|
last -= 1;
|
||||||
|
}
|
||||||
|
mark[last] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
s.iter().enumerate().filter_map(|(i, &c)| {
|
||||||
|
if mark[i] {
|
||||||
|
Some(c)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}).collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// submission codes end
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_3174() {
|
||||||
|
assert_eq!("abc".to_owned(), Solution::clear_digits("abc".to_owned()));
|
||||||
|
assert_eq!("".to_owned(), Solution::clear_digits("cb34".to_owned()));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user