华为OD-D卷万能字符单词拼写
有一个字符串数组words和一个字符串chars。
假如可以用chars中的字母拼写出words中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。
words的字符仅由 a-z 英文小写字母组成。 例如: abc
chars 由 a-z 英文小写字母和 “?”组成。其中英文问号“?”表示万能字符,能够在拼写时当做任意一个英文字母。 例如: "?" 可以当做 "a"等字母。
注意:每次拼写时,chars中的每个字母和万能字符都只能使用一次。
输出词汇表words中你掌握的所有单词的个数。 没有掌握任何单词,则输出0。
输入描述:
第1行输入数组words的个数,记为N。
从第2行开始到第N+1行依次输入数组words的每个字符串元素。
第N+2行输入字符串chars。输出描述:
输出一个整数,表示词汇表words中你掌握的单词个数。
备注:
注意:
1 <= words.length <= 100
1 <= words[i].length, chars.length <= 100
所有字符串中都仅包含小写英文字母、英文问号
题目解析:本质还是判断一个字符串是否能由另一个字符串组成,字符串由26个字母组成,建一个大小为26的数组来计算每个字母出现的次数即可!
注意:要判断的一个数组中的单词是否学过,加一个循环就行,而且还需要对通配符进行单独的统计。
import java.util.Scanner;public class Main {public static void main(String[] args) {
// String[] words = new String[]{"cat", "bt", "hat", "tree"};
// String chars = "atach??";// 处理数据Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();String[] words = new String[n];for (int i = 0; i < n; i++) {words[i] = scanner.next();}String chars = scanner.next();// 计算chars里面出现的字符数和?的次数int[] countChars = new int[26];int count = 0;for (int i = 0; i < chars.length(); i++) {if (chars.charAt(i) == '?') {count++;continue;}countChars[chars.charAt(i) - 'a']++;}int result = 0;// 遍历每个单词,查看是否掌握for (int i = 0; i < words.length; i++) {if (isMasterWord(words[i], countChars, count)) {result++;}}System.out.println(result);}public static boolean isMasterWord(String word, int[] countChars, int count) {for (int i = 0; i < word.length(); i++) {countChars[word.charAt(i) - 'a']--;if (countChars[word.charAt(i) - 'a'] < 0) {count--;// ? 不够用了直接返回falseif (count < 0) {return false;}}}return true;}
}
相关文章:
华为OD-D卷万能字符单词拼写
有一个字符串数组words和一个字符串chars。 假如可以用chars中的字母拼写出words中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。 words的字符仅由 a-z 英文小写字母组成。 例如: abc chars 由 a-z 英文小写字母和 “?”组成。其…...
顶象文字点选模型识别
注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 文字点选如何训练,之前的文章说了很多遍了,这里只放现成的模型供查看,有需要成品联系…...
C#如何将自己封装的nuget包引入到项目中
问题 自己封装好了一个nuget包,但是不想上传到外网,想局域网使用,有两种方案 搭建私有nuget仓库放到离线文件夹中直接使用 第一种方式请请参考proget安装 下面主要是第二种方式 准备 新建类库项目 using System;namespace ClassLibrary…...
数据结构(学习)2024.8.8(栈,队列)
今天学习的是线性表里面的栈和队列 链表的相关知识可以查看http://t.csdnimg.cn/NX464 顺序表的相关知识可以查看http://t.csdnimg.cn/5IMAZ 目录 栈 栈的定义 栈的特点 顺序栈 结构体 顺序栈的相关操作案例 链式栈 结构体 链式栈的相关操作案例 总结 队列 队列…...
服务端开发常用知识(持续更新中)
Java方面 1 基础篇 1.1 网络基础 tcp三次握手和四次挥手-CSDN博客 tcp和udp区别,tcp拥塞控制算法和粘包问题-CSDN博客 http的发展历史,各版本的差异点,以及和https的区别-CSDN博客 2 jvm篇 3 多线程篇 4 mysql篇 5 redis篇 6 kafk…...
MySQL入门学习-运维与架构.复制过滤器
MySQL 复制过滤器是一种用于过滤复制数据的机制。它可以根据特定的规则,选择要复制的数据库、表或列,从而减少复制的数据量,提高复制性能。 一、以下是一些常见的 MySQL 复制过滤器: 1. 基于二进制日志的过滤器: 通过…...
【深度学习】生成领域里,Normalizing Flow、GAN、VAE、Diffusion Models的区别是什么?
文章目录 1. Normalizing Flow2. GAN (Generative Adversarial Networks)3. VAE (Variational Autoencoders)4. Diffusion Models总结1. Normalizing Flow公式代码示例2. GAN (Generative Adversarial Networks)公式代码示例3. VAE (Variational Autoencoders)公式代码示例4. D…...
Qt 串口通信(C++)
1. 基本概念 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接…...
聊聊AUTOSAR: 基于DaVinci的SecOC开发与配置
一、什么是SecOC 当前车载网络通讯环境越来越复杂,未采取任何安全保护的报文,一旦被伪造或者篡改,将非常危险。为了提升信息的安全性,AUTOSAR标准中引进了SecOC,加入了通讯认证机制,能够有效的辨别出信息是…...
.net6.0 重启控制台 命令
在.NET 6.0中,如果你想要创建一个命令行应用程序来重启当前运行的控制台,你可以使用System.Diagnostics命名空间下的Process类来启动一个新的进程,并结束当前进程。 以下是一个简单的示例代码,展示了如何实现重启控制台的功能&am…...
LVS 调度器 nat和DR模式
lvs-nat 修改请求报文的目标IP,多目标IP的DNAT 配置网络 LVS主机 注意网卡的顺序 (nat和主机模式) [rootlvs ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection [connection] idens160 typeethernet interface-nameens160 [ip…...
MTK Android12 SystemUI 手势导航 隐藏导航栏底部布局
问题:android12 平台手势导航情况下,app页面未设置全屏情况下,底部导航栏会有一个高度的颜色,底部导航会有一个手势导航提示条 需求:去掉手势导航情况下底部的导航栏和手势提示条 文章目录 相关资源修改问题描述解决方案代码跟踪中间提醒小方块代码查找底部手势导航条跟踪…...
electron调用c++ dll lib
主要的工具包 node-addon-apinode-gyp 主要的配置 {"variables": {# module_mac: "./../sdk/mac",},"targets": [{"target_name": "native_module","defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"],&qu…...
23种设计模式(持续更新中)
参考链接干货分享 | 《设计模式之美》学习笔记 - 知乎 (zhihu.com) 总体来说设计模式分为三大类: 创建型模式,共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共7种:适配器模式、…...
Linux文件系统详解
Linux的一切皆文件 Linux 中的各种事物比如像文档、目录(Mac OS X 和 Windows 系统下称之为文件夹)、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端,还有进程间通信(IPC)和网络通信等输入/输出资…...
大数据面试SQL(五):查询最近一笔有效订单
文章目录 查询最近一笔有效订单 一、题目 二、分析 三、SQL实战 四、样例数据参考 查询最近一笔有效订单 一、题目 现有订单表t5_order,包含订单ID,订单时间,下单用户,当前订单是否有效。 请查询出每笔订单的上一笔有效订…...
OpenCV图像滤波(8)getGaborKernel()函数的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数返回 Gabor 滤波器系数。 Gabor 滤波器在图像处理中非常有用,特别是在纹理分析、特征提取和边缘检测等领域。 函数原型 Mat c…...
门店收银系统源码+同城即时零售多商户入驻商城源码
一、我们为什么要开发这个系统? 1. 商户经营现状 “腰尾部”商户,无小程序运营能力;自营私域商城流量渠道单一;无法和线下收银台打通,库存不同步,商品不同步,订单不同步; 2.平台服…...
MaxKB:基于 LLM大语言模型的知识库问答系统实操
1.MaxKB介绍 MaxKB 是一款基于 LLM(Large Language Model)大语言模型的知识库问答系统。MaxKB 的产品命名内涵为 “Max Knowledge Base”,为用户提供强大的学习能力和问答响应速度,致力于成为企业的最强大脑。与同类基于 LLM 的知…...
linux文件命令:更新文件时间戳的工具touch详解
目录 一、概述 二. touch 命令的基本用途 三. touch 命令的语法 3.1、语法 3.2、touch 命令的选项 3.3、时间字符串格式 四. 常用场景 4.1 创建空文件 4.2 同时创建多个文件 4.3 更新文件的时间戳 4.4 只更新访问时间 4.5 只更新修改时间 4.6 设置特定时间戳 4.7 使用另…...
终极指南:3分钟解锁百度网盘SVIP下载特权,让下载速度飙升70倍!
终极指南:3分钟解锁百度网盘SVIP下载特权,让下载速度飙升70倍! 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在…...
Escrcpy手柄映射:重新定义手游操控体验
Escrcpy手柄映射:重新定义手游操控体验 【免费下载链接】escrcpy 📱 Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 当你在手机屏幕上滑动虚拟摇杆试图精准瞄准敌…...
OpenClaw日志分析技能:千问3.5-27B自动排查错误信息
OpenClaw日志分析技能:千问3.5-27B自动排查错误信息 1. 为什么需要自动化日志分析 作为一名长期与代码打交道的开发者,我每天至少有30%的时间花在查看日志上。从服务器报错到应用崩溃,从性能瓶颈到数据异常,日志就像系统的"…...
Windows 11终极优化指南:用Win11Debloat免费提升系统性能51%
Windows 11终极优化指南:用Win11Debloat免费提升系统性能51% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter …...
比迪丽LoRA部署优化:TensorRT加速后推理速度提升300%实测
比迪丽LoRA部署优化:TensorRT加速后推理速度提升300%实测 1. 引言:当二次元老婆遇上推理加速 如果你玩过AI绘画,尤其是喜欢生成《龙珠》里的角色比迪丽,那你一定知道等待图片生成时的那种心情——看着进度条一点点爬,…...
Excel VBA宏实战:一键按多列条件拆分工作表
1. 为什么需要按多列条件拆分工作表? 相信很多处理过Excel数据的朋友都遇到过这样的场景:领导突然丢给你一份包含全校学生成绩的表格,要求你按照"班级学科"的组合条件拆分成多个独立的工作表。手动操作时,你需要反复筛选…...
怎样快速掌握Pine Script交易策略编程:5个高效上手的秘诀
怎样快速掌握Pine Script交易策略编程:5个高效上手的秘诀 【免费下载链接】awesome-pinescript A Comprehensive Collection of Everything Related to Tradingview Pine Script. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-pinescript 你是否曾…...
AI服务的可观测性与运维
AI服务的可观测性与运维 当 AI 服务从开发环境走向生产,可观测性(Observability)成为运维的基石。传统的监控(CPU、内存、请求量)已不足以应对 AI 系统的复杂性,我们需要深入追踪 每个 AI 交互的细节&#…...
FanControl:智能风扇控制的全方位解决方案
FanControl:智能风扇控制的全方位解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl…...
OpenClaw安全防护:千问3.5-9B操作权限最佳实践
OpenClaw安全防护:千问3.5-9B操作权限最佳实践 1. 为什么需要关注OpenClaw的安全配置 去年冬天的一个深夜,我被一阵急促的键盘敲击声惊醒。走进书房时,发现OpenClaw正在疯狂删除我的项目文件夹——原来是我白天测试时忘记限制文件删除权限&…...
