当前位置: 首页 > news >正文

建设银行企业网上银行网站/网站关键词优化教程

建设银行企业网上银行网站,网站关键词优化教程,网站运营发展前景,中国纪检监察报简介【华为OD-E卷-寻找关键钥匙 100分(python、java、c、js、c)】 题目 小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子,并给出箱子编号,箱子编…

【华为OD-E卷-寻找关键钥匙 100分(python、java、c++、js、c)】

题目

小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子,并给出箱子编号,箱子编号为 1~N 。
每个箱子中都有一个 字符串s ,字符串由大写字母、小写字母、数字、标点符号、空格组成,需要在这些字符串中找到所有的字母,忽略大小写后排列出对应的密码串,并返回匹配密码的箱子序号。
提示:满足条件的箱子不超过1个。

输入描述

  • 第一行为 key 的字符串,

第二行为箱子 boxes,为数组样式,以空格分隔

箱子 N 数量满足 1 ≤ N ≤ 10000, s 长度满足 0 ≤ s.length ≤ 50, 密码为仅包含小写字母的升序字符串,且不存在重复字母, 密码 K 长度1 ≤ K.length ≤ 26

输出描述

  • 返回对应箱子编号

如不存在符合要求的密码箱,则返回 -1。

备注

  • 箱子中字符拼出的字符串与密码的匹配忽略大小写,且要求与密码完全匹配,如密码abc匹配aBc,但是密码abc不匹配abcd

用例

用例一:
输入:
abc
s,sdf134 A2c4b
输出:
2
用例二:
输入:
abc
s,sdf134 A2c4bd 523[]
输出:
1

python解法

  • 解题思路:
  • 这段代码的目标是从一组字符串(boxes)中找到第一个可以和输入的 key 匹配的箱子(匹配条件是两个字符串的字符可以完全重排成彼此,忽略大小写和非字母字符)。匹配时返回箱子的索引(从 1 开始),如果找不到匹配则返回 -1。

具体匹配条件:

对 key 按字母排序。
对每个箱子,过滤出其中的字母字符,转换为小写后排序。
比较 key 的排序结果和当前箱子过滤后排序的结果是否相同

# 读取输入 key 和 boxes 列表
key = input()  # 匹配的关键字符串
boxes = input().split()  # 多个箱子名称,以空格分隔def find_box_index(key, boxes):key_sorted = sorted(key)  # 对 key 字符串排序,作为匹配基准for i, box in enumerate(boxes):  # 遍历所有箱子# 过滤箱子中的字母字符,并转换为小写filtered_chars = [c.lower() for c in box if c.isalpha()]# 检查过滤后的字符排序是否与 key 的排序相同if key_sorted == sorted(filtered_chars):return i + 1  # 返回匹配箱子的索引(从 1 开始)return -1  # 如果没有匹配,返回 -1# 输出结果
print(find_box_index(key, boxes))

java解法

  • 解题思路
  • 这段代码的目标是从一组字符串(containers)中找到第一个可以与输入字符串 referenceKey 匹配的容器。匹配的条件是两个字符串的字符完全相同(忽略大小写和非字母字符),且字符顺序无关。匹配时返回容器的索引(从 1 开始),如果找不到匹配则返回 -1。

代码分为三个主要部分:

字符串预处理:过滤非字母字符,将字母转换为小写,并按字母顺序排序。
匹配逻辑:将 referenceKey 和每个容器经过相同的预处理后进行比较。
输出结果:根据匹配结果输出第一个匹配容器的索引或 -1。

import java.util.Scanner;
import java.util.Arrays;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入,预处理 referenceKeyString referenceKey = sanitizeAndSort(scanner.nextLine());// 读取 containers 列表,按空格分隔String[] containers = scanner.nextLine().split(" ");// 查找匹配索引int matchingIndex = findMatchIndex(referenceKey, containers);// 输出匹配结果System.out.println(matchingIndex);}/*** 预处理字符串:过滤非字母字符,转为小写,并排序** @param input 原始字符串* @return 经过排序和过滤后的字符串*/private static String sanitizeAndSort(String input) {// 去除非字母字符,转小写,转为字符数组char[] filteredChars = input.replaceAll("[^a-zA-Z]", "").toLowerCase().toCharArray();// 对字符数组排序Arrays.sort(filteredChars);// 转为字符串返回return new String(filteredChars);}/*** 在 containers 中查找第一个匹配 referenceKey 的索引** @param referenceKey 预处理后的参考字符串* @param containers 容器字符串数组* @return 第一个匹配的容器索引(从 1 开始),未找到返回 -1*/private static int findMatchIndex(String referenceKey, String[] containers) {for (int i = 0; i < containers.length; i++) {// 预处理当前容器String sortedBox = sanitizeAndSort(containers[i]);// 比较参考字符串与当前容器是否匹配if (referenceKey.equals(sortedBox)) {return i + 1; // 返回 1 基索引}}return -1; // 没有找到匹配,返回 -1}
}

C++解法

  • 解题思路
更新中

C解法

  • 解题思路

更新中

JS解法

  • 解题思路

更新中

注意:

如果发现代码有用例覆盖不到的情况,欢迎反馈!会在第一时间修正,更新。
解题不易,如对您有帮助,欢迎点赞/收藏

http://www.jmfq.cn/news/5359591.html

相关文章:

  • 南方医科大学精品课程建设网站/宁波seo链接优化
  • 攀枝花三线建设网站/短视频seo询盘获客系统软件
  • 迅当网络外贸网站建设980/女儿考试没圈关键词
  • 建设招标网官方网站电脑版/新闻发布
  • 食品网站建设的目的/seo技术培训山东
  • 昆明网站建设网站/百度快照客服
  • 网站建设前需求调研表/百度的竞价排名是哪种方式
  • 灌阳县建设局门户网站/提高工作效率8个方法
  • 0元建设黑网站/360推广联盟
  • 一元云购手机网站建设/网站怎么制作教程
  • 苏州外贸公司网站建设流程/百度seo查询收录查询
  • 支付网站建设费进什么科目/快速排名教程
  • 查高铁建设进度官方网站/病毒式营销方法
  • 政府门户网站建设请示/百度推广登录官网入口
  • 网站建设所要花费的资金/官方百度
  • 德阳网站网站建设/公司域名查询官网
  • 网站建设培训公司/怎么用模板做网站
  • 辽宁省建设厅官方网站职称评定/百度知道问答平台
  • 日照市机场投资建设有限公司网站/下载百度浏览器
  • 网站建设开发感悟/小网站关键词搜什么
  • 孵化器网站平台建设/seo站长工具
  • 洪梅镇网站建设/互联网怎么赚钱
  • 中山建设工程招聘信息网站/推广引流平台app大全
  • 建设银行龙卡网站/2022年新闻热点摘抄
  • 网站建设谢辞/百度网站推广
  • 企业网站建设招标文件/宁波seo网络推广外包报价
  • 建设的网站别人登录密码/百度账户推广登陆
  • 网站建设中联系我们怎么写/线上销售培训机构
  • 湖南畅想网站建设/seo与sem的区别与联系
  • 网站建设的图片怎么加水印/百度一下官网手机版