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

华为OD-2024年E卷-英文输入法[100分] -- python

问题描述:

主管期望你来实现英文输入法单词联想功能。
需求如下:
依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。
注意:

  1. 英文单词联想时,区分大小写
  2. 缩略形式如”don’t”,判定为两个单词,”don”和”t”
  3. 输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号

输入描述
输入为两行。
首行输入一段由英文单词word和标点符号组成的语句str;
接下来一行为一个英文单词前缀pre。
0 < word.length() <= 20
0 < str.length <= 10000
0 < pre <= 20
输出描述
输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割

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

解题思路:

按照规则进行模拟即可:

  1. 区分大小写
  2. 不能有标点符号包括缩略词的" ' ":去除标点符号,单独针对缩略词拆分为两个单词
  3. 不能重复且字典序:将处理后的单词加入set()集合 并 转换成列表进行排序
  4. 前缀匹配:单词的前缀部分 = 前缀
  5. 无法联想到则输出前缀

代码实现:

s = input().split()
target = input()
arr = set()#去重
for i in s:#去标点符号if "'" in i:t = i.index("'")arr.add(i[:t])arr.add(i[t+1:])else:temp = ''for j in i:if 'a' <= j <= 'z' or 'A' <= j <= 'Z':temp += jarr.add(temp)
arr = sorted(list(arr))#字典序排序
n = len(target)
f = True#是否存在
for i in arr:#联想if target == i[:len(target)]:print(i,end=' ')f = False
if f:print(target)

http://www.xdnf.cn/news/1052317.html

相关文章:

  • [Java 基础]日期时间
  • 力扣的SQL
  • Spring AI 对话记忆持久化实战-MySQL方案
  • 【分析学】 从确界定理出发——实数系完备定理
  • Proteus8.17仿真51单片机驱动ST7920 LCD12864
  • MyBatisPlus 全面学习路径
  • 《仿盒马》app开发技术分享-- 回收金提现记录查询(端云一体)
  • java 集合 泛型
  • 第2讲、LangChain应用架构与核心组件:构建LLM应用的基石
  • 访问网页的全过程
  • 电脑端应用使用统计工具,精准分析你的习惯
  • wordpress外贸独立站搭建步骤
  • Appium框架下载时卡主的解决办法(ERR_TLS_CERT_ALTNAME_INVALID)
  • kicad运行时出错,_Pnext->_Myproxy = nullptr;访问内存出错解决措施
  • 华为OD机试_2025 B卷_磁盘容量排序(Python,100分)(附详细解题思路)
  • 互联网大厂Java求职面试:AI与大模型技术在电商系统中的架构设计与性能优化
  • ​​信息系统项目管理师-项目整合管理 知识点总结与例题分析​​
  • C++多线程与并发中线程池设计、锁优化
  • Linux入门(十八)read函数
  • 第十六届蓝桥杯国赛(2025)C/C++B组 蓝桥星数字 独家解析
  • Python 基础语法 (4)【适合0基础】
  • 幻休 v3.0.02 | AI趣味呼吸 助眠音乐 冥想音频
  • Java微服务框架技术选型全景报告
  • LangGraph--Agent常见的模式2(并行、数据路由)
  • 链表(C语言)—学习笔记
  • 淘宝/天猫API系列-商品列表页采集接口教程
  • win10 乌班图系统安装(推荐)
  • 安装前端vite框架,后端安装fastapi框架
  • 第二十章 Centos8的使用
  • 苏州SAP代理商:哲讯科技助力企业数字化转型