【每日一题DAY21】LC1684统计一致字符串的数目|哈希表

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

You are given a string allowed consisting of distinct characters and an array of strings words. A string is consistent if all characters in the string appear in the string allowed.


Return the number of consistent strings in the array words.


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


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


被阳务运动无语到的一天…


  • 思路:使用哈希表统计allowed中出现的字母,遍历words中的每个word出现的字母,如果字母都存在yu哈希表中,那么count加1


  • 实现


class Solution {
    public int countConsistentStrings(String allowed, String[] words) {
        boolean[] table = new boolean[26];
        for (int i = 0; i < allowed.length(); i++){
            table[allowed.charAt(i)-'a'] = true;
        }
        int count = 0;
        for (String word : words){
            boolean flag = true;
            for (char c : word.toCharArray()){
                if (!table[c-'a']){
                    flag = false;
                    break;
                }
            }
            if (flag){
                count++;
            }  
        }
        return count;
    }
}


  • 复杂度


。时间复杂度:O ( n + ∑ m i ) ,n为allowed长度,m为word中字符串的长度

。空间复杂度:O ( 1 )

目录
相关文章
|
存储 缓存 算法
HBase优化之路-合理的使用编码压缩
为什么要讨论HBase编码压缩 编码+压缩能够成倍的减少数据的磁盘占用空间,节省可观的存储费用 编码+压缩通常情况下可以提高系统吞吐率,让系统可以做更多的功 默认建表不启用编码或者压缩,对初学者不友好 了解HBase编码 举个栗子,我们有一张物流表叫"express",记录物流订单的流转详情。
4621 0
|
缓存 NoSQL 关系型数据库
Redis缓存与Mysql数据库的一致性问题解决
Redis缓存与Mysql数据库的一致性问题解决
267 0
|
Cloud Native Linux Docker
云原生之使用Docker部署ftp服务器
云原生之使用Docker部署ftp服务器
976 0
|
人工智能 监控 安全
政府行业应用解决方案 | 应急行业
本文介绍了政府行业应用解决方案 | 应急行业的方案概述,方案价值及优势以及最佳实践。
政府行业应用解决方案 | 应急行业
|
消息中间件 Java Spring
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
215 1
|
7月前
|
负载均衡 安全 容灾
虚拟专线设备端配置指南 (无影 x Panabit)
本文介绍了使用 Panabit AL88-1000 或 AL88-1500 设备进行环境准备、设备初始化、绑定办公网络及附录配置的全流程。首先需准备好个人电脑、网线和设备,并确保网络接入安全;接着通过接线与浏览器登录管理后台完成设备初始化,安装无影虚拟专线插件并配置网络;最后输入绑定码启动转发服务,并根据实际需求调整 WAN 线路和 IP-CIDR 设置,实现本地与云电脑服务的互联互通。
|
7月前
|
SQL Oracle 关系型数据库
迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB
迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB
|
9月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
248 43
|
7月前
|
运维 安全 开发工具
GitHub 热门开源运维工具 Websoft9:如何实现服务器管理效率翻倍?
Websoft9 提供 200+ 开源应用一键部署,支持容器化隔离、GitOps 自动化和企业级安全防护,助力服务器管理效率提升 80%。
229 1
|
11月前
|
网络协议 API 网络安全
发送TCP数据免费API接口教程
此API用于向指定主机发送TCP数据,支持POST/GET请求,需提供用户ID、KEY、接收IP、端口及数据内容。返回状态码和信息提示,示例如下:{&quot;code&quot;:200,&quot;msg&quot;:&quot;发送成功!&quot;}。详情见:https://www.apihz.cn/api/datacstcp.html
164 11