Rust Solution
Code\n\nuse std::collections::*;\n\nimpl Solution {\n  pub fn min_deletion_size(strs: Vec<String>) -> i32 {\n    let mut result = 0;\n    let strs = strs.into_i
# Code\n```\nuse std::collections::*;\n\nimpl Solution {\n  pub fn min_deletion_size(strs: Vec<String>) -> i32 {\n    let mut result = 0;\n    let strs = strs.into_iter().map(|v| v.chars().collect::<VecDeque<char>>()).collect::<Vec<VecDeque<char>>>();\n    let n = strs.len();\n    let mut temps = vec![format!("");n];\n    for i in 0..100 {\n      let mut flag = false;\n      for j in 1..n {\n        if strs[j].len() <= i { continue }\n        if !temps[j-1].is_empty() && !temps[j].is_empty() && temps[j-1] < temps[j] {\n          continue\n        }\n\n        if strs[j-1][i] > strs[j][i] {\n          flag = true;\n          result += 1;\n          break\n        }\n      }\n      if !flag {\n        for j in 0..n {\n          if strs[j].len() <= i { continue }\n          temps[j] = format!("{}{}", temps[j], strs[j][i]);\n        }\n      }\n    }\n    result\n  }\n}\n```
['Rust']