浅谈 统计一致字符串的数目 问题

该问题描述了一个算法,用于计算字符串数组中哪些字符串的所有字符都包含在一个给定的允许字符集中。算法通过遍历每个字符串并与允许字符集比较,计算每个字符串中在允许字符集中的字符数量,如果数量等于字符串长度,则该字符串是一致字符串,累计计数。这是一个关于字符串处理和算法的问题。
摘要由CSDN通过智能技术生成

统计一致字符串的数目

问题:
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。

请你返回 words 数组中 一致字符串 的数目。

思路:

  1. 取出字符数组中的每个字符串
  2. 将 words 字符数组中字符串的每一个字符与 allowed 字符串的每个字符进行比较
  3. 如果一样,则将标记 index 加一,表示 words 字符串中的字符存在于 allowed 字符串中。
  4. 如果 标记 index 等于字符串数组中字符串的长度,则说明全部都存在于 allowed 字符串中 → count++。
  5. 遍历完 words 后返回 count。
class Solution {
public:
    const int countConsistentStrings(const string& allowed, const vector<string>& words) {
        int count = 0;
        for(const auto& str : words){
            int i = 0, index = 0;
            for(; i < str.length(); ++i){
                for(const auto& c : allowed){
                    if(str[i] == c) {
                        index++;
                    }
                }
                if(index == str.length()) count++;
            }
        }
        return count;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值