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

华为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源码)

英文输入法 题目描述 主管期望你来实现英文输入法单词联想功能。 需求如下&#xff1a; 依据用户输入的单词前缀&#xff0c;从已输入的英文语句中联想出用户想输入的单词&#xff0c;按字典序输出联想到的单词序列&#xff0c; 如果联想不到&#xff0c;请输出用户输入的单词…...

一个团队管理者应该干什么?

文章目录 一、前言二、搞好团队气氛三、上下都要处理好四、做好计划并监督执行&#xff0c;控制风险。五、小结 一、前言 话说管理这个东西是猪有猪的想法&#xff0c;狗有狗的想法。所以不会有一个定论&#xff0c;总是有人定义这个管理方式&#xff0c;那个管理方式。看的管…...

服务器数据库文件加载到 MySQL

要将数据库文件加载到 MySQL 中&#xff0c;您可以使用以下步骤&#xff1a; 1. 确保 MySQL 服务器正在运行。您可以使用以下命令检查 MySQL 服务器的状态&#xff1a; sudo systemctl status mariadb 如果 MySQL 服务器没有运行&#xff0c;请使用以下命令启动它&…...

6-《网络面试》

6-《网络面试》 1.http是什么&#xff1f;http的工作机制&#xff1f;http报文&#xff1f;1.1 http工作机制&#xff1a;1.2 URL和http报文 2. HTTP请求方法和状态码3.Get和Post的区别4.HTTP的Header解析1.text/html2.x-www-form-urlencoded3.multipart/form-data4.applicatio…...

[高光谱]高光谱数据的获取与展示

一、环境准备 需要安装spectral包&#xff0c;这个包专门用于高光谱数据展示。 pip install spectral 二、数据加载 要预先准备原始高光谱的.mat数据和分类数据gt.mat(ground-turth)&#xff1b;然后使用scipy.io中的loadmat(.)将其读入程序。 from scipy.io import loadmat…...

veth网卡的多队列及RPS

背景&#xff1a; 3.10内核下容器使用的veth网卡&#xff0c;默认开启的是一个队列&#xff0c;导致在某些单线程多TCP链接的应用场景下&#xff0c;出现某个CPU软中断高的情况。之前处理的方案一直是开启这个veth网卡的RPS&#xff0c;让其在多流场景下可以去分散到其它CPU上…...

国内的程序员数量是否已经饱和或者过剩?

首先&#xff0c;国内程序员数量确实在逐年增加&#xff0c;特别是近年来互联网行业迅猛发展&#xff0c;促进了技术人员需求的增长。然而&#xff0c;要判断程序员是否饱和并不是简单地看人数。下面我们细分几个角度来看看这个问题。 1、合格的程序员数量不够 国内的IT领域和…...

flutter不能抓包

需要获取手机IP地址设置才能抓包&#xff0c;获取IP地址&#xff0c;需要跟原生通讯获取&#xff0c; 1&#xff1a;获取IP地址 安卓代码&#xff1a; /*** 原生和flutter通讯交互*/ class MainActivity : FlutterActivity() {var methodChannel: MethodChannel? nullover…...

从桌面端到移动端,.NET MAUI为什么对WPF开发人员更简单?

.NET多平台应用程序UI&#xff08;. NET MAUI&#xff09;的市场吸引力与日俱增&#xff0c;这是微软最新的开发平台&#xff0c;允许开发者使用单个代码库创建跨平台应用程序。尽管很多WPF开发人员还没有跟上 .NET MAUI的潮流&#xff0c;但我们将在这篇文章中为大家展示他的潜…...

[Python]... 和pass

2.9 … 和pass 在Python中pass语句是用来在语法上需要一个语句的地方占位的。它不会执行任何操作。 ...是一个特殊的值&#xff0c;表示省略或未完成的代码。它可以用来实现抽象基类&#xff0c;也可以用来在语法上需要一个语句的地方占位&#xff0c;通常情况下&#xff0c;.…...

【信息安全案例】——软件解密技术(以OllyDbg为例)

目录 &#x1f552; 1. 软件解密技术&#x1f558; 1.1 概述&#x1f558; 1.2 爆破&#x1f558; 1.3 跟踪注册&#x1f558; 1.4 写出注册 &#x1f552; 2. 破解相关问题&#x1f558; 2.1 破解程度&#x1f558; 2.2 破解线索 &#x1f552; 3. 实验&#xff1a;使用 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安装包最后一步的时候&#xff0c;显示 Failed to start service MySQL57. 只有在任务处于完成状态(RanToCompletion、Fau 这时候 检查要么windows下面mysql的卸载残留没…...

前端知识复习一

1.页面导入样式时&#xff0c;使用link和import有什么区别&#xff1f; link属于html标签&#xff0c;import是css提供的。页面加载的同时&#xff0c;link同时也会加载&#xff1b;import引用的css等到页面加载完再加载 2.js函数有哪几种声明方式&#xff1f; 表达式和声明…...

低代码赋能生物药企数字化

一、关于复宏汉霖 汉霖是复星在2010年投资孵化的一家生物医药公司&#xff0c;经过这十几年的发展&#xff0c;2019年在港股上市&#xff0c;是生物药企18A企业之一。 经过这些年的发展&#xff0c;我们在管线方面布局了肿瘤、肢体、免疫、眼科类&#xff0c;从早研阶段到临床…...

【计算机视觉】最后显示的CIFAR-100数据集照片很模糊怎么解决?

文章目录 一、前言二、如何解决2.1 使用图像增强技术2.2 使用插值方法2.3 使用更高分辨率的图像数据集2.4 手动调整图像尺寸 三、总结 一、前言 如果从CIFAR-100数据集加载的图像显示模糊&#xff0c;可能有几个可能的原因&#xff1a; 分辨率较低&#xff1a;CIFAR-100数据集…...

OJ 系统未解决或者有疑问问题:

34101 - 全排列问题 时间限制 : 1 秒 内存限制 : 128 MB 输出自然数 1 到 n 所有不重复的排列&#xff0c;即 n 的全排列&#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。 输入 n(1≤n≤9) 输出 由 1&#xff5e;n 组成的所有不重复的数字序列&#xff0c;每…...

《游戏编程模式》--优化模式--学习

在线阅读&#xff1a; 优化模式 游戏设计模式 参考文章&#xff1a; GameDesignPattern_U3D_Version/Assets/010OptimizationPatterns at master TYJia/GameDesignPattern_U3D_Version GitHub 数据局部性介绍了计算机的存储层次以及如何使用其以获得优势。 脏标识帮你避开…...

电脑照片怎么导入苹果手机?三个妙招帮你解决!

案例&#xff1a;电脑有很多照片&#xff0c;该如何导入苹果手机&#xff1f; 【家人们&#xff0c;电脑里面的照片怎么样可以快速导入到苹果手机&#xff1f;求方法&#xff01;】 导入电脑照片到苹果手机是一个常见的需求&#xff0c;尤其是当您希望在手机上随时欣赏和分享这…...

换个花样玩C++(13)一文深度全面剖析类构造,析构,赋值运算和移动构造

为什么我要把C++类的构造,析构函数,赋值运算符重载函数,移动构造函数还要拿出来嚼一嚼,因为最近面试的一些3-7年经验的程序员,我每次都会问一些特别基础的问题,但是我总是得不到想要的答案,我就在思考,是不是大家都觉得有些知识点太简单了,流于高大上的东西,而我个人…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...