当前位置:主页 > java教程 > Java C++统计一致字符串数目

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

发布:2023-03-12 17:00:01 59


给寻找编程代码教程的朋友们精选了相关的编程文章,网友邴文敏根据主题投稿了本篇教程内容,涉及到Java C++统计一致字符串数目、Java C++题解LeetCode、Java C++统计一致字符串数目相关内容,已被155网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

Java C++统计一致字符串数目

题目

题目要求

思路:模拟

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

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;
    }
}

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;
    }
};

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统计一致字符串的数目示例的详细内容,更多关于Java C++统计一致字符串数目的资料请关注码农之家其它相关文章!


参考资料

相关文章

  • Java C++题解leetcode1620网络信号最好的坐标

    发布:2023-03-13

    这篇文章主要为大家介绍了Java C++题解leetcode1620网络信号最好的坐标示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode764最大加号标志示例

    发布:2023-03-11

    这篇文章主要为大家介绍了Java C++题解leetcode764最大加号标志示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode816模糊坐标示例

    发布:2023-03-13

    这篇文章主要为大家介绍了Java C++题解leetcode816模糊坐标示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode856括号的分数

    发布:2023-03-05

    这篇文章主要为大家介绍了Java C++题解leetcode856括号的分数实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode915分割数组示例

    发布:2023-03-08

    这篇文章主要为大家介绍了Java C++题解leetcode915分割数组示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode1598文件夹操作日志搜集器

    发布:2023-03-02

    这篇文章主要为大家介绍了Java C++题解leetcode1598文件夹操作日志搜集器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Java C++题解leetcode判定是否为字符重排

    发布:2023-03-03

    这篇文章主要为大家介绍了Java C++题解leetcode判定是否为字符重排,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


网友讨论