news 2026/8/16 14:53:02

华为OD机试真题 - 查字典 (C++ Python JAVA JS GO)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机试真题 - 查字典 (C++ Python JAVA JS GO)

查字典

2025华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型

华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解

题目描述

输入一个单词前缀和一个字典,输出包含该前缀的单词

输入描述

单词前缀+字典长度+字典
字典是一个有序单词数组
输入输出都是小写

输出描述

所有包含该前缀的单词,多个单词换行输出

若没有则返回-1

用例1

输入

b 3 a b c

输出

b

用例2

输入

abc 4 a ab abc abcd

输出

abc abcd

用例3

输入

a 3 b c d

输出

-1

题解

思路:模拟

  1. 这道题比较简单,之间判断词典中所有单词是有以prefix开头即可。
  2. 考虑到这道题没有限制单词的数量,如果全部存在数组中可能会超内存,可以判断一个单词以prefix开头就直接输出。至于-1的情况可以使用一个布尔值进行记录。
  3. 具体逻辑看看下面代码就ok。

c++

#include<iostream> #include<vector> #include<string> #include <utility> #include <sstream> #include<algorithm> #include<cmath> #include<map> using namespace std; int main() { string prefix; int n; cin >> prefix; cin >> n; // 标记是否找到 bool flag = false; int prefixLen = prefix.size(); for (int i = 0; i < n; i++) { string input; cin >> input; // 判断是否为前缀 if (prefix == input.substr(0, prefixLen)) { flag = true; cout << input << endl; } } // 没有找到情况下 if (!flag) { cout << -1; } return 0; }

JAVA

import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String prefix = sc.next(); int n = sc.nextInt(); // 标记是否找到 boolean flag = false; int prefixLen = prefix.length(); for (int i = 0; i < n; i++) { String input = sc.next(); // 判断是否为前缀 if (input.length() >= prefixLen && prefix.equals(input.substring(0, prefixLen))) { flag = true; System.out.println(input); } } // 没有找到情况下 if (!flag) { System.out.print(-1); } } }

Python

importsys data=sys.stdin.read().split()idx=0prefix=data[idx]idx+=1n=int(data[idx])idx+=1# 标记是否找到flag=Falseprefix_len=len(prefix)for_inrange(n):s=data[idx]idx+=1# 判断是否为前缀ifs.startswith(prefix):flag=Trueprint(s)# 没有找到情况下ifnotflag:print(-1)

JavaScript

constreadline=require('readline');// 创建 readline 接口constrl=readline.createInterface({input:process.stdin,output:process.stdout});consttokens=[];// 逐行读取输入rl.on('line',(line)=>{// 按空白切分,支持空格 / 多个空格tokens.push(...line.trim().split(/\s+/));});rl.on('close',()=>{letidx=0;// 读取前缀constprefix=tokens[idx++];// 读取数量constn=parseInt(tokens[idx++],10);// 标记是否找到letflag=false;constprefixLen=prefix.length;for(leti=0;i<n;i++){consts=tokens[idx++];// 判断是否为前缀if(s.startsWith(prefix)){flag=true;console.log(s);}}// 没有找到情况下if(!flag){console.log(-1);}});

Go

packagemainimport("bufio""fmt""os")funcmain(){in:=bufio.NewReader(os.Stdin)varprefixstringvarnintfmt.Fscan(in,&prefix,&n)// 标记是否找到flag:=falseprefixLen:=len(prefix)fori:=0;i<n;i++{varsstringfmt.Fscan(in,&s)// 判断是否为前缀iflen(s)>=prefixLen&&s[:prefixLen]==prefix{flag=truefmt.Println(s)}}// 没有找到情况下if!flag{fmt.Print(-1)}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/16 3:10:18

沙箱性能革命:从卡顿到流畅的深度优化指南

沙箱性能革命&#xff1a;从卡顿到流畅的深度优化指南 【免费下载链接】Sandboxie Sandboxie Plus & Classic 项目地址: https://gitcode.com/gh_mirrors/sa/Sandboxie 你是否曾经历过这样的场景&#xff1a;当你精心配置了十几个沙箱环境用于不同任务时&#xff0c…

作者头像 李华
网站建设 2026/8/16 4:12:25

为什么90%的SEO从业者都在使用这款神器?

为什么90%的SEO从业者都在使用这款神器&#xff1f; 【免费下载链接】GM_script 我就是来分享脚本玩玩的 项目地址: https://gitcode.com/gh_mirrors/gm/GM_script 每天面对海量的关键词数据&#xff0c;你是否感到力不从心&#xff1f;在搜索引擎算法的频繁更新中&…

作者头像 李华
网站建设 2026/8/13 20:44:32

5个实用技巧让Files文件管理器运行如飞:告别卡顿与延迟

5个实用技巧让Files文件管理器运行如飞&#xff1a;告别卡顿与延迟 【免费下载链接】Files Building the best file manager for Windows 项目地址: https://gitcode.com/gh_mirrors/fi/Files Files作为Windows平台上备受推崇的现代化文件管理器&#xff0c;以其出色的界…

作者头像 李华
网站建设 2026/8/16 12:32:56

跨平台UI框架版本适配实战:从冲突到兼容的完整指南

跨平台UI框架版本适配实战&#xff1a;从冲突到兼容的完整指南 【免费下载链接】compose-multiplatform JetBrains/compose-multiplatform: 是 JetBrains 开发的一个跨平台的 UI 工具库&#xff0c;基于 Kotlin 编写&#xff0c;可以用于开发跨平台的 Android&#xff0c;iOS 和…

作者头像 李华
网站建设 2026/8/16 9:25:50

ggwave声波通信实战指南:工业物联网数据传输的终极解决方案

ggwave声波通信实战指南&#xff1a;工业物联网数据传输的终极解决方案 【免费下载链接】ggwave ggwave 是一个小巧的数据声波传输库&#xff0c;能让空气隔离的设备间通过声音交流小数据&#xff0c;可用于文件分享、物联网数据传输等&#xff0c;用途多样。源项目地址&#x…

作者头像 李华
网站建设 2026/8/15 18:53:57

Langchain-Chatchat结合自动纠错提升用户输入容忍度

Langchain-Chatchat结合自动纠错提升用户输入容忍度 在企业知识管理日益智能化的今天&#xff0c;越来越多组织开始部署本地化的AI问答系统来提升信息获取效率。然而一个现实问题始终存在&#xff1a;普通员工在提问时难免出现错别字、语序混乱或术语不规范的情况——比如把“报…

作者头像 李华