20231220 Finished
This commit is contained in:
		@@ -4,3 +4,4 @@ mod s0020_valid_parentheses;
 | 
			
		||||
mod s2697_lexicographically_smallest_palindrome;
 | 
			
		||||
mod s0002_add_two_numbers;
 | 
			
		||||
mod s0003_longest_substring_without_repeating_characters;
 | 
			
		||||
mod s2828_check_if_a_string_is_an_acronym_of_words;
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,78 @@
 | 
			
		||||
/**
 | 
			
		||||
 * [2828] Check if a String Is an Acronym of Words
 | 
			
		||||
 *
 | 
			
		||||
 * Given an array of strings words and a string s, determine if s is an acronym of words.
 | 
			
		||||
 * The string s is considered an acronym of words if it can be formed by concatenating the first character of each string in words in order. For example, "ab" can be formed from ["apple", "banana"], but it can't be formed from ["bear", "aardvark"].
 | 
			
		||||
 * Return true if s is an acronym of words, and false otherwise. 
 | 
			
		||||
 *  
 | 
			
		||||
 * <strong class="example">Example 1:
 | 
			
		||||
 *
 | 
			
		||||
 * Input: words = ["alice","bob","charlie"], s = "abc"
 | 
			
		||||
 * Output: true
 | 
			
		||||
 * Explanation: The first character in the words "alice", "bob", and "charlie" are 'a', 'b', and 'c', respectively. Hence, s = "abc" is the acronym. 
 | 
			
		||||
 *
 | 
			
		||||
 * <strong class="example">Example 2:
 | 
			
		||||
 *
 | 
			
		||||
 * Input: words = ["an","apple"], s = "a"
 | 
			
		||||
 * Output: false
 | 
			
		||||
 * Explanation: The first character in the words "an" and "apple" are 'a' and 'a', respectively. 
 | 
			
		||||
 * The acronym formed by concatenating these characters is "aa". 
 | 
			
		||||
 * Hence, s = "a" is not the acronym.
 | 
			
		||||
 *
 | 
			
		||||
 * <strong class="example">Example 3:
 | 
			
		||||
 *
 | 
			
		||||
 * Input: words = ["never","gonna","give","up","on","you"], s = "ngguoy"
 | 
			
		||||
 * Output: true
 | 
			
		||||
 * Explanation: By concatenating the first character of the words in the array, we get the string "ngguoy". 
 | 
			
		||||
 * Hence, s = "ngguoy" is the acronym.
 | 
			
		||||
 *
 | 
			
		||||
 *  
 | 
			
		||||
 * Constraints:
 | 
			
		||||
 *
 | 
			
		||||
 * 	1 <= words.length <= 100
 | 
			
		||||
 * 	1 <= words[i].length <= 10
 | 
			
		||||
 * 	1 <= s.length <= 100
 | 
			
		||||
 * 	words[i] and s consist of lowercase English letters.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
pub struct Solution {}
 | 
			
		||||
 | 
			
		||||
// problem: https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/
 | 
			
		||||
// discuss: https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/discuss/?currentPage=1&orderBy=most_votes&query=
 | 
			
		||||
 | 
			
		||||
// submission codes start here
 | 
			
		||||
 | 
			
		||||
impl Solution {
 | 
			
		||||
    pub fn is_acronym(words: Vec<String>, s: String) -> bool {
 | 
			
		||||
        if words.len() != s.len() {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (index, value) in s.chars().enumerate() {
 | 
			
		||||
            if !words[index].starts_with(value) {
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        true
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// submission codes end
 | 
			
		||||
 | 
			
		||||
#[cfg(test)]
 | 
			
		||||
mod tests {
 | 
			
		||||
    use super::*;
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn test_2828() {
 | 
			
		||||
        assert_eq!(true, Solution::is_acronym(vec![
 | 
			
		||||
            String::from("alice"),
 | 
			
		||||
            String::from("bob"),
 | 
			
		||||
            String::from("charlie")], String::from("abc")));
 | 
			
		||||
 | 
			
		||||
        assert_eq!(false, Solution::is_acronym(vec![
 | 
			
		||||
            String::from("an"),
 | 
			
		||||
            String::from("apple")], String::from("a")));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user