From cee2c70aba93fa82ef5283ed10ec282a1779958e Mon Sep 17 00:00:00 2001 From: Wei Tan Date: Sat, 11 Jan 2025 12:19:44 +0800 Subject: [PATCH] 1839. Longest Substring Of All Vowels in Order: RETRY --- src/solution/mod.rs | 1 + ...ongest_substring_of_all_vowels_in_order.rs | 85 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 src/solution/s1839_longest_substring_of_all_vowels_in_order.rs diff --git a/src/solution/mod.rs b/src/solution/mod.rs index e5eeccb..842e9fd 100644 --- a/src/solution/mod.rs +++ b/src/solution/mod.rs @@ -1386,3 +1386,4 @@ mod s1834_single_threaded_cpu; mod s1835_find_xor_sum_of_all_pairs_bitwise_and; mod s1837_sum_of_digits_in_base_k; mod s1838_frequency_of_the_most_frequent_element; +mod s1839_longest_substring_of_all_vowels_in_order; diff --git a/src/solution/s1839_longest_substring_of_all_vowels_in_order.rs b/src/solution/s1839_longest_substring_of_all_vowels_in_order.rs new file mode 100644 index 0000000..bcf64d5 --- /dev/null +++ b/src/solution/s1839_longest_substring_of_all_vowels_in_order.rs @@ -0,0 +1,85 @@ +/** + * [1839] Longest Substring Of All Vowels in Order + * + * A string is considered beautiful if it satisfies the following conditions: + * + * Each of the 5 English vowels ('a', 'e', 'i', 'o', 'u') must appear at least once in it. + * The letters must be sorted in alphabetical order (i.e. all 'a's before 'e's, all 'e's before 'i's, etc.). + * + * For example, strings "aeiou" and "aaaaaaeiiiioou" are considered beautiful, but "uaeio", "aeoiu", and "aaaeeeooo" are not beautiful. + * Given a string word consisting of English vowels, return the length of the longest beautiful substring of word. If no such substring exists, return 0. + * A substring is a contiguous sequence of characters in a string. + * + * Example 1: + * + * Input: word = "aeiaaioaaaaeiiiiouuuooaauuaeiu" + * Output: 13 + * Explanation: The longest beautiful substring in word is "aaaaeiiiiouuu" of length 13. + * Example 2: + * + * Input: word = "aeeeiiiioooauuuaeiou" + * Output: 5 + * Explanation: The longest beautiful substring in word is "aeiou" of length 5. + * + * Example 3: + * + * Input: word = "a" + * Output: 0 + * Explanation: There is no beautiful substring, so return 0. + * + * + * Constraints: + * + * 1 <= word.length <= 5 * 10^5 + * word consists of characters 'a', 'e', 'i', 'o', and 'u'. + * + */ +pub struct Solution {} + +// problem: https://leetcode.com/problems/longest-substring-of-all-vowels-in-order/ +// discuss: https://leetcode.com/problems/longest-substring-of-all-vowels-in-order/discuss/?currentPage=1&orderBy=most_votes&query= + +// submission codes start here + +impl Solution { + pub fn longest_beautiful_substring(word: String) -> i32 { + 0 + } +} + +// submission codes end + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + #[ignore] + fn test_1839_example_1() { + let word = "aeiaaioaaaaeiiiiouuooaauuaeiu".to_string(); + + let result = 13; + + assert_eq!(Solution::longest_beautiful_substring(word), result); + } + + #[test] + #[ignore] + fn test_1839_example_2() { + let word = "aeeeiiiioooauuuaeiou".to_string(); + + let result = 5; + + assert_eq!(Solution::longest_beautiful_substring(word), result); + } + + #[test] + #[ignore] + fn test_1839_example_3() { + let word = "a".to_string(); + + let result = 0; + + assert_eq!(Solution::longest_beautiful_substring(word), result); + } +}