Just a runnable solution
Code\n\nimpl Solution {\n    pub fn min_deletion_size(strs: Vec<String>) -> i32 {\n        let mut res = 0;\n        let n = strs.len();\n        let m = strs[0
# Code\n```\nimpl Solution {\n    pub fn min_deletion_size(strs: Vec<String>) -> i32 {\n        let mut res = 0;\n        let n = strs.len();\n        let m = strs[0].len();\n        let mut sorted = vec![false; n - 1];\n        for j in 0..m {\n            let mut ii = 0;\n            for i in 0..n - 1 {\n                if !sorted[i] && strs[i].as_bytes()[j] > strs[i + 1].as_bytes()[j] {\n                    res += 1;\n                    ii = i;\n                    break;\n                }\n                ii = i + 1;\n            }\n            if ii < n - 1 {\n                continue;\n            }\n            for i in 0..n - 1 {\n                sorted[i] = sorted[i] || strs[i].as_bytes()[j] < strs[i + 1].as_bytes()[j];\n            }\n        }\n        res\n    }\n}\n```
['Rust']