软件编程
位置:首页>> 软件编程>> java编程>> Java C++题解leetcode 1684统计一致字符串的数目示例

Java C++题解leetcode 1684统计一致字符串的数目示例

作者:AnjaVon  发布时间:2023-04-23 09:06:31 

标签:Java,C++,LeetCode,统计数目,字符串

题目

题目要求

Java C++题解leetcode 1684统计一致字符串的数目示例

Java C++题解leetcode 1684统计一致字符串的数目示例

思路:模拟

  • 用一个哈希表记录可出现的字母,然后逐一遍历每个单词每个字母,符合条件则结果加一。

Java

class Solution {
   public int countConsistentStrings(String allowed, String[] words) {
       boolean[] hash = new boolean[26];
       for (var a : allowed.toCharArray())
           hash[a - 'a'] = true;
       int res = 0;
       stop : for (var word : words) {
           for (var w : word.toCharArray()) {
               if (!hash[w - 'a'])
                   continue stop;
           }
           res++;
       }
       return res;
   }
}

Java C++题解leetcode 1684统计一致字符串的数目示例

C++

class Solution {
public:
   int countConsistentStrings(string allowed, vector<string>& words) {
       int hash[26] = {0};
       for (auto a : allowed)
           hash[a - 'a'] = true;
       int res = 0;
       for (auto& word : words) {
           bool ok = true;
           for (auto w : word) {
               if (!hash[w - 'a']) {
                   ok = false;
                   continue;
               }
           }
           if (ok)
               res++;
       }
       return res;
   }
};

Java C++题解leetcode 1684统计一致字符串的数目示例

Rust

impl Solution {
   pub fn count_consistent_strings(allowed: String, words: Vec<String>) -> i32 {
       let mut hash = vec![false; 26];
       for a in allowed.as_bytes().iter() {
           hash[(a - b'a') as usize] = true;
       }
       let mut res = 0;
       for word in words {
           let mut ok = true;
           for w in word.as_bytes().iter() {
               if !hash[(w - b'a') as usize] {
                   ok = false;
                   continue;
               }
           }
           if ok {
               res += 1;
           }
       }
       res
   }
}

Java C++题解leetcode 1684统计一致字符串的数目示例

来源:https://juejin.cn/post/7163622866301222943

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com