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

面试150 添加与搜索单词--数据结构设计

在这里插入图片描述

思路

通过哈希法去实现,这里主要描述search的思路:如果’.‘不在word中,我们只需要去查询word在不在set中。如果’.‘存在,我们对哈希中的字符串进行遍历w,如果当前字符串的长度不等于word跳过,对word进行遍历,比较word的每一个元素与w的每一个元素,如果word[i]不等于’.'并且不等于w[i],则说明不匹配,最后return False。

class WordDictionary:def __init__(self):self.d=set()def addWord(self, word: str) -> None:self.d.add(word)def search(self, word: str) -> bool:if '.' not in word:return word in self.d for w in self.d:if len(w)!=len(word):continuematch=Truefor i in range(len(word)):if word[i]!='.' and word[i]!=w[i]:match=Falsebreakif match:return True return False# Your WordDictionary object will be instantiated and called as such:
# obj = WordDictionary()
# obj.addWord(word)
# param_2 = obj.search(word)
http://www.lryc.cn/news/593866.html

相关文章:

  • 前端的测试
  • 详解Mysql索引合并
  • 二、Spark 开发环境搭建 IDEA + Maven 及 WordCount 案例实战
  • 每日一题7.20
  • Spring之事务使用指南
  • 【Vue进阶学习笔记】Vue 路由入门指南
  • 18.TaskExecutor获取ResourceManagerGateway
  • 【已解决】GitHub SSH 连接失败解决方案:Permission Denied (publickey) 错误修复指南
  • ant+Jmeter+jenkins接口自动化,如何实现把执行失败的接口信息单独发邮件?
  • XILINX JESD204B/C IP的AXI配置
  • 【HarmonyOS】ArkUI - 自定义组件和结构重用
  • 基于FPGA的多级流水线加法器verilog实现,包含testbench测试文件
  • Python基础-列表
  • Python趣味算法:借书方案知多少 | 排列组合穷举法详解
  • 06 51单片机之矩阵键盘
  • Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡
  • Autosar RTE实现观测量生成-基于ETAS软件
  • MYSQL:从增删改查到高级查询
  • 技术演进中的开发沉思-40 MFC系列:多线程协作
  • [特殊字符] 小程序 vs 智能体:下一代应用开发,谁主沉浮?
  • 社交圈子系统开源社交源码 / 小程序+H5+APP 多端互通的底层技术分析
  • 分享如何在保证画质的前提下缩小视频体积实用方案
  • 敏捷开发的历史演进:从先驱实践到全域敏捷(1950s-2025)
  • Hiredis 构建 Redis 命令实战指南
  • 音视频学习(四十一):H264帧内压缩技术
  • 【AI】文生图文生视频
  • 吴恩达机器学习笔记(3)—线性代数回顾(可选)
  • 17.TaskExecutor与ResourceManager交互
  • 微服务雪崩防护最佳实践之sentinel
  • ThinkSound:阿里开源首个“会思考”的音频生成模型——从“看图配音”到“听懂画面”的技术跃迁