From bc95633818349b904d07bff6a412e3c2e46c0a75 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 7 May 2020 22:37:39 +0800 Subject: Move rust codes into sub dir. --- src/length_of_longest_substring.rs | 47 -------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/length_of_longest_substring.rs (limited to 'src/length_of_longest_substring.rs') diff --git a/src/length_of_longest_substring.rs b/src/length_of_longest_substring.rs deleted file mode 100644 index cbd5e14..0000000 --- a/src/length_of_longest_substring.rs +++ /dev/null @@ -1,47 +0,0 @@ -use super::Solution; - -impl Solution { - pub fn length_of_longest_substring(s: String) -> i32 { - let mut map: [i32; std::u8::MAX as usize] = [-1; std::u8::MAX as usize]; - let mut last_index: i32 = 0; - let mut result: i32 = 0; - let bytes = s.as_bytes(); - for (i, c) in bytes.iter().enumerate() { - let i = i as i32; - let c = *c as usize; - let li = map[c]; - if li >= last_index { - last_index = li + 1; - map[c] = i; - } else { - map[c] = i; - let length = i - last_index + 1; - if length > result { - result = length; - } - } - } - result - } -} - -#[cfg(test)] -mod tests { - use super::Solution; - - #[test] - fn test() { - assert_eq!( - Solution::length_of_longest_substring("abcabcbb".to_string()), - 3 - ); - assert_eq!( - Solution::length_of_longest_substring("bbbbb".to_string()), - 1 - ); - assert_eq!( - Solution::length_of_longest_substring("pwwkew".to_string()), - 3 - ); - } -} -- cgit v1.2.3