leetcode位运算(1684. 统计一致字符串的数目)

前言

经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。后续开始专项练习。

描述

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

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

示例 1:

输入:allowed = "ab", words = ["ad","bd","aaab","baa","badab"]
输出:2
解释:字符串 "aaab" 和 "baa" 都是一致字符串,因为它们只包含字符 'a' 和 'b' 。

示例 2:

输入:allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]
输出:7
解释:所有字符串都是一致的。

示例 3:

输入:allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]
输出:4
解释:字符串 "cc","acd","ac" 和 "d" 是一致字符串。

提示:

  • 1 <= words.length <= 104
  • 1 <= allowed.length <= 26
  • 1 <= words[i].length <= 10
  • allowed 中的字符 互不相同 。
  • words[i] 和 allowed 只包含小写英文字母。

实现原理与步骤

1.本题重点掌握相应字符bit位的编码规则

2.bitArray和tempBitArray或之后还等于bitArray,说明bitArray包含tempBitArray

代码实现

class Solution {public int countConsistentStrings(String allowed, String[] words) {int res=0;int bitArray=0;for(Character c:allowed.toCharArray()){//按字符的编码进行bit位设置bitArray|=1<<(c-'a');}for(String word:words){int tempBitArray=0;for(Character c:word.toCharArray()){//按字符的编码进行bit位设置tempBitArray|=1<<(c-'a');}//如果bitArray或tempBitArray后还是bitArray,则bitArray包含tempBItArrayif((bitArray|tempBitArray)==bitArray){res+=1;}}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python-for-Android:把你的Python应用打包为APK文件

Python-for-Android&#xff08;简称p4a&#xff09;是一个开发工具&#xff0c;它可以将Python应用打包成可以在Android设备上运行的二进制文件。它是基于开源框架Kivy开发的&#xff0c;旨在为开发者提供在移动设备上轻松运行Python应用的解决方案。 什么是Python-for-Androi…

MyBatis Plus 实现中文排序的两种有效策略

前言 在MyBatis Plus项目开发中&#xff0c;针对中文数据的排序需求是一个常见的挑战&#xff0c;尤其是在需要按照拼音或特定语言逻辑排序时。本文整合了两种有效的方法&#xff0c;旨在帮助开发者克服MyBatis Plus在处理中文排序时遇到的障碍&#xff0c;确保数据能够按照预…

【React】JSX 实现列表渲染

文章目录 一、基础语法1. 使用 map() 方法2. key 属性的使用 二、常见错误和注意事项1. 忘记使用 key 属性2. key 属性的选择 三、列表渲染的高级用法1. 渲染嵌套列表2. 条件渲染列表项3. 动态生成组件 四、最佳实践 在 React 开发中&#xff0c;列表渲染是一个非常常见的需求。…

【多模态】CLIP-KD: An Empirical Study of CLIP Model Distillation

论文&#xff1a;CLIP-KD: An Empirical Study of CLIP Model Distillation 链接&#xff1a;https://arxiv.org/pdf/2307.12732 CVPR 2024 Introduction Motivation&#xff1a;使用大的Teacher CLIP模型有监督蒸馏小CLIP模型&#xff0c;出发点基于在资源受限的应用中&…

【WPF开发】控件介绍-button(按钮)

基本介绍 按钮&#xff08;button&#xff09;控件的作用 按钮控件&#xff08;Button&#xff09;是用户界面&#xff08;UI&#xff09;设计中最基本的元素之一&#xff0c;其主要作用包括&#xff1a; 触发操作&#xff1a;用户通过点击按钮来执行一个命令或触发一个事件&…

【网络】tcp_socket

tcp_socket 一、tcp_server与udp_server一样的部分二、listen接口&#xff08;监听&#xff09;三、accept接收套接字1、为什么还要多一个套接字&#xff08;明明已经有了个socket套接字文件了&#xff0c;为什么要多一个accept套接字文件&#xff1f;&#xff09;2、底层拿到新…

从R-CNN到Faster-R-CNN的简单介绍

1、R-CNN RCNN算法4个步骤 1、一张图像生成1K~2K个候选区域(使用Selective Search方法) 2、对每个候选区域&#xff0c;使用深度网络提取特征 3、特征送入每一类的SVM分类器&#xff0c;判别是否属于该类 4、使用回归器精细修正候选框位置 R-CNN 缺陷 &#xff1a; 1.训练…

MySQL 存储引擎详解

MySQL 存储引擎详解 MySQL 是一个关系数据库管理系统&#xff0c;它的一个显著特性是支持多种存储引擎。每种存储引擎都有其独特的功能、优点和限制。选择合适的存储引擎对于数据库性能、可靠性和可维护性至关重要。下面详细介绍几种常见的 MySQL 存储引擎&#xff0c;包括 In…

Java使用AsposePDF和AsposeWords进行表单填充

声明&#xff1a;本文为作者Huathy原创文章&#xff0c;禁止转载、爬取&#xff01;否则&#xff0c;本人将保留追究法律责任的权力&#xff01; 文章目录 AsposePDF填充表单adobe pdf表单准备引入依赖编写测试类 AsposeWord表单填充表单模板准备与生成效果引入依赖编码 参考文…

【语音识别和生成】语音识别和语音合成技术

语音识别和生成&#xff1a;语音识别和语音合成技术 目录 引言语音识别技术 语音识别的基本原理语音识别系统的组成语音识别的关键技术 语音合成技术 语音合成的基本原理语音合成系统的组成语音合成的关键技术 语音识别和生成的应用 智能助理智能家居语音翻译医疗健康教育和学…

【C语言】链式队列的实现

队列基本概念 首先我们要了解什么是队列&#xff0c;队列里面包含什么。 队列是线性表的一种是一种先进先出&#xff08;First In Fi Out&#xff09;的数据结构。在需要排队的场景下有很强的应用性。有数组队列也有链式队列&#xff0c;数组实现的队列时间复杂度太大&#x…

qt 应用正在运行时,如何更新升级exe文件

在Qt应用正在运行时&#xff0c;直接替换同名的.exe文件可能会导致文件正在使用中的错误。为了安全地更新.exe文件&#xff0c;你可以采取以下步骤&#xff1a; 创建一个临时的.exe文件。 等待当前.exe文件的进程关闭。 删除原有的.exe文件。 将临时.exe文件重命名为原有的.…

【数据结构 | 哈希表】一文了解哈希表(散列表)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

国科大作业考试资料-人工智能原理与算法-2024新编-第五次作业整理

1、本题以井字棋(圈与十字游戏)为例练习博弈中的基本概念。定义X_n为恰好有n个X而没有O 的行、列或者对角线的数目。同样O_n为正好有n 个O的行、列或者对角线的数目。效用函数给 X_3=1的棋局+1, 给O_3=1的棋局-1。所有其他终止状态效用值为0。对于非终止状态,使用线性的 …

虚拟局域网配置与分析-VLAN

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、相关知识 虚拟局域网&#xff08;Virtual Local Area Network&#xff0c;VLAN&#xff09;是一组逻辑上的设备和用户&#xff1b;不受物理位置的…

vue网络请求

post网络请求 import axios from axios import {ElMessage, ElLoading} from "element-plus" import { nextTick } from "vue" import JSONbig from json-bigint import { userToken } from "/constants/Constant.js";const defaultConfig {bas…

浅谈监听器之保存响应到文件

浅谈监听器之保存响应到文件 JMeter 提供了一个实用的监听器——“保存响应到文件”&#xff0c;该监听器能够自动将取样器的响应数据直接保存到指定的文件中&#xff0c;便于后续分析或存档。本文档旨在详细介绍如何配置和使用此监听器功能。 适用场景 ● 长时间运行的测试…

TCP协议之三次握手,四次挥手!

VLSM&#xff1a;可变长子网掩码划分 DOS攻击&#xff1a;拒绝服务攻击 SYN&#xff1a;DDOS攻击&#xff08;分布式拒绝服务攻击&#xff09; 私有IP严禁进行子网掩码划分 TCP协议&#xff1a; 三次握手&#xff1a; 第一次握手&#xff1a;Client将标志位SYN置1&#xf…

Java 代码规范:优化 if 嵌套的技术博客

黑马2024软考软件设计师核心知识点精讲 ​​https://pan.baidu.com/s/1lD9aXMr5NPG-x_GKJnwExg?pwd0cbj ​​ 在Java编程中&#xff0c;​​if​​​语句是控制流程的基本结构之一。然而&#xff0c;过多的​​if​​​嵌套会使代码变得难以阅读和维护。本文将介绍如何优化​…

昇思25天学习打卡营第n天|本地安装mindspore之二|开始第一课的代码。以及对比xshell,MobaXterm

开始准备在本地的系统上跑例子了。从第一课开始吧。 1&#xff0c;下载代码 打开课程。 下载样例代码 https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.3/tutorials/zh_cn/beginner/mindspore_quick_start.py 2&#xff0c;在本地Linux上输入并运…