aboutsummaryrefslogtreecommitdiff
path: root/other/longest_palindrome_concat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'other/longest_palindrome_concat.rs')
-rw-r--r--other/longest_palindrome_concat.rs39
1 files changed, 0 insertions, 39 deletions
diff --git a/other/longest_palindrome_concat.rs b/other/longest_palindrome_concat.rs
deleted file mode 100644
index 2a97ed4..0000000
--- a/other/longest_palindrome_concat.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-struct Solution;
-
-impl Solution {
- pub fn longest_palindrome(words: Vec<String>) -> i32 {
- let (mut hist, mut ans, a_code) = (vec![vec![0; 26];26], 0, 'a' as usize);
- for w in words.iter() {
- if let Some(i) = w.chars().nth(0) {
- if let Some(j) = w.chars().nth(1) {
- let i = i as usize - a_code;
- let j = j as usize - a_code;
- match hist[j][i] {
- cnt if cnt > 0 => {
- ans += 4;
- hist[j][i] -= 1;
- },
- _ => {
- hist[i][j] += 1;
- }
- }
- }
- }
- }
- for i in 0..26 {
- match hist[i][i] {
- cnt if cnt > 0 => {
- ans += 2;
- break;
- },
- _ => (),
- }
- }
- ans
- }
-}
-
-fn main() {
- let words = vec!["lc".to_string(), "cl".to_string(), "gg".to_string()];
- print!("{}", Solution::longest_palindrome(words));
-}