华为OD机试之英文输入法(Java源码)
英文输入法
题目描述
主管期望你来实现英文输入法单词联想功能。
需求如下:
依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,
如果联想不到,请输出用户输入的单词前缀。
注意:
英文单词联想时,区分大小写
缩略形式如”don’t”,判定为两个单词,”don”和”t”
输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号
输入描述
输入为两行。
首行输入一段由英文单词word和标点符号组成的语句str;
接下来一行为一个英文单词前缀pre。
0 < word.length() <= 20
0 < str.length <= 10000
0 < pre <= 20
输出描述
输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割
| 输入 | 输出 | 说明 |
|---|---|---|
| I love you He | He | 从用户已输入英文语句”I love you”中提炼出“I”、“love”、“you”三个单词,接下来用户输入“He”,\n\n从已输入信息中无法联想到任何符合要求的单词,因此输出用户输入的单词前缀。 |
| The furthest distance in the world, Is not between life and death, But when I stand in front of you, Yet you don’t know that I love you. f | front furthest | 从用户已输入英文语句”The furthestdistance in the world, Is not between life and death, But when I stand in frontof you, Yet you dont know that I love you.”中提炼出的单词,符合“f”作为前缀的,有“furthest”和“front”,按字典序排序并在单词间添加空格后输出,结果为“front furthest”。 |
源码和解析
解析:
1.获取输入的所有字符,并拆分成子串数组(按空格) 注意处理缩略词don’t 为don和t
2.分别判断子串是否以用户输入的前缀开始
示例代码:
import java.util.ArrayList;
import java.util.Scanner;public class T12 {public static void main(String[] args) {System.out.println("请输入单词库(空格隔开):");Scanner scanner = new Scanner(System.in);String input1 = scanner.nextLine();System.out.println("请输入单词前缀:");String input2 = scanner.nextLine();ArrayList<String> wordList = new ArrayList<>();StringBuilder word = new StringBuilder();for (int i = 0; i < input1.length(); i++) {char c = input1.charAt(i);// 字符过滤if (!((c <= 'z' && c >= 'a') || (c <= 'Z' && c >= 'A'))) {if (word.length() > 0) {wordList.add(word.toString());word.setLength(0);}continue;};if (c == ' ') {if (word.length() > 0) {wordList.add(word.toString());word.setLength(0);}continue;}if (c == '\'') {if (word.length() > 0) {wordList.add(word.toString());word.setLength(0);}continue;}word.append(c);if (i == input1.length() - 1) {if (word.length() > 0) {wordList.add(word.toString());word.setLength(0);}}}boolean flag = false;// 是否找到for (String wd : wordList) {if (wd.startsWith(input2)) {flag = true;System.out.print(wd + " ");}}if (flag == false) {System.out.println(input2);}}
}相关文章:
华为OD机试之英文输入法(Java源码)
英文输入法 题目描述 主管期望你来实现英文输入法单词联想功能。 需求如下: 依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列, 如果联想不到,请输出用户输入的单词…...
一个团队管理者应该干什么?
文章目录 一、前言二、搞好团队气氛三、上下都要处理好四、做好计划并监督执行,控制风险。五、小结 一、前言 话说管理这个东西是猪有猪的想法,狗有狗的想法。所以不会有一个定论,总是有人定义这个管理方式,那个管理方式。看的管…...
服务器数据库文件加载到 MySQL
要将数据库文件加载到 MySQL 中,您可以使用以下步骤: 1. 确保 MySQL 服务器正在运行。您可以使用以下命令检查 MySQL 服务器的状态: sudo systemctl status mariadb 如果 MySQL 服务器没有运行,请使用以下命令启动它&…...
6-《网络面试》
6-《网络面试》 1.http是什么?http的工作机制?http报文?1.1 http工作机制:1.2 URL和http报文 2. HTTP请求方法和状态码3.Get和Post的区别4.HTTP的Header解析1.text/html2.x-www-form-urlencoded3.multipart/form-data4.applicatio…...
[高光谱]高光谱数据的获取与展示
一、环境准备 需要安装spectral包,这个包专门用于高光谱数据展示。 pip install spectral 二、数据加载 要预先准备原始高光谱的.mat数据和分类数据gt.mat(ground-turth);然后使用scipy.io中的loadmat(.)将其读入程序。 from scipy.io import loadmat…...
veth网卡的多队列及RPS
背景: 3.10内核下容器使用的veth网卡,默认开启的是一个队列,导致在某些单线程多TCP链接的应用场景下,出现某个CPU软中断高的情况。之前处理的方案一直是开启这个veth网卡的RPS,让其在多流场景下可以去分散到其它CPU上…...
国内的程序员数量是否已经饱和或者过剩?
首先,国内程序员数量确实在逐年增加,特别是近年来互联网行业迅猛发展,促进了技术人员需求的增长。然而,要判断程序员是否饱和并不是简单地看人数。下面我们细分几个角度来看看这个问题。 1、合格的程序员数量不够 国内的IT领域和…...
flutter不能抓包
需要获取手机IP地址设置才能抓包,获取IP地址,需要跟原生通讯获取, 1:获取IP地址 安卓代码: /*** 原生和flutter通讯交互*/ class MainActivity : FlutterActivity() {var methodChannel: MethodChannel? nullover…...
从桌面端到移动端,.NET MAUI为什么对WPF开发人员更简单?
.NET多平台应用程序UI(. NET MAUI)的市场吸引力与日俱增,这是微软最新的开发平台,允许开发者使用单个代码库创建跨平台应用程序。尽管很多WPF开发人员还没有跟上 .NET MAUI的潮流,但我们将在这篇文章中为大家展示他的潜…...
[Python]... 和pass
2.9 … 和pass 在Python中pass语句是用来在语法上需要一个语句的地方占位的。它不会执行任何操作。 ...是一个特殊的值,表示省略或未完成的代码。它可以用来实现抽象基类,也可以用来在语法上需要一个语句的地方占位,通常情况下,.…...
【信息安全案例】——软件解密技术(以OllyDbg为例)
目录 🕒 1. 软件解密技术🕘 1.1 概述🕘 1.2 爆破🕘 1.3 跟踪注册🕘 1.4 写出注册 🕒 2. 破解相关问题🕘 2.1 破解程度🕘 2.2 破解线索 🕒 3. 实验:使用 OllyD…...
【华为OD机试真题2023B卷 JAVAJS】阿里巴巴找黄金宝箱(I)
华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 阿里巴巴找黄金宝箱(I) 知识点数组前缀和整数范围 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子,每个箱子上面…...
记录一次windows mysql5.7安装失败的过程
首先下载mysql安装包 windows版本 https://dev.mysql.com/downloads/installer/ 接着 在执行安装mysql msi安装包最后一步的时候,显示 Failed to start service MySQL57. 只有在任务处于完成状态(RanToCompletion、Fau 这时候 检查要么windows下面mysql的卸载残留没…...
前端知识复习一
1.页面导入样式时,使用link和import有什么区别? link属于html标签,import是css提供的。页面加载的同时,link同时也会加载;import引用的css等到页面加载完再加载 2.js函数有哪几种声明方式? 表达式和声明…...
低代码赋能生物药企数字化
一、关于复宏汉霖 汉霖是复星在2010年投资孵化的一家生物医药公司,经过这十几年的发展,2019年在港股上市,是生物药企18A企业之一。 经过这些年的发展,我们在管线方面布局了肿瘤、肢体、免疫、眼科类,从早研阶段到临床…...
【计算机视觉】最后显示的CIFAR-100数据集照片很模糊怎么解决?
文章目录 一、前言二、如何解决2.1 使用图像增强技术2.2 使用插值方法2.3 使用更高分辨率的图像数据集2.4 手动调整图像尺寸 三、总结 一、前言 如果从CIFAR-100数据集加载的图像显示模糊,可能有几个可能的原因: 分辨率较低:CIFAR-100数据集…...
OJ 系统未解决或者有疑问问题:
34101 - 全排列问题 时间限制 : 1 秒 内存限制 : 128 MB 输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入 n(1≤n≤9) 输出 由 1~n 组成的所有不重复的数字序列,每…...
《游戏编程模式》--优化模式--学习
在线阅读: 优化模式 游戏设计模式 参考文章: GameDesignPattern_U3D_Version/Assets/010OptimizationPatterns at master TYJia/GameDesignPattern_U3D_Version GitHub 数据局部性介绍了计算机的存储层次以及如何使用其以获得优势。 脏标识帮你避开…...
电脑照片怎么导入苹果手机?三个妙招帮你解决!
案例:电脑有很多照片,该如何导入苹果手机? 【家人们,电脑里面的照片怎么样可以快速导入到苹果手机?求方法!】 导入电脑照片到苹果手机是一个常见的需求,尤其是当您希望在手机上随时欣赏和分享这…...
换个花样玩C++(13)一文深度全面剖析类构造,析构,赋值运算和移动构造
为什么我要把C++类的构造,析构函数,赋值运算符重载函数,移动构造函数还要拿出来嚼一嚼,因为最近面试的一些3-7年经验的程序员,我每次都会问一些特别基础的问题,但是我总是得不到想要的答案,我就在思考,是不是大家都觉得有些知识点太简单了,流于高大上的东西,而我个人…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
