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

LeetCode 面试经典150题 290.单词规律

题目

给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。

这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。

思路:一一映射需要用到s2t和t2s两个hash表

代码

class Solution {public boolean wordPattern(String pattern, String s) {String[] arr = s.split(" ");if (pattern.length() != arr.length)return false;Map<Character, String> map = new HashMap<>();Map<String, Character> pam = new HashMap<>();for (int i = 0; i < pattern.length(); i++) {char ch = pattern.charAt(i);String str = arr[i];// 字符与单词没有一一映射if (map.containsKey(ch) && !map.get(ch).equals(str) || pam.containsKey(str) && pam.get(str) != ch) {return false;} else {map.put(ch, str);pam.put(str, ch);}}return true;}
}

性能:时间复杂度O(s)      空间复杂度O(s)

相关文章:

  • 虚拟机-从头配置Ubuntu18.04(包括anaconda,cuda,cudnn,pycharm,ros,vscode)
  • 如何调试Clang源码
  • Llama模型下载
  • 双进程交互实现App自动重启
  • 电脑突然死机怎么办?
  • axios发送get请求但参数中有数组导致请求路径多出了“[]“的处理办法
  • 纯分享万岳外卖跑腿系统客户端源码uniapp目录结构示意图
  • sql造数据
  • zedboard+AD9361 运行 open WiFi
  • 【案例·增】获取当前时间、日期(含,SQL中DATE数据类型)
  • 【Python从入门到进阶】51、电影天堂网站多页面下载实战
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • Linux:Jenkins:参数化版本回滚(6)
  • react native hooks 如何避免重复请求
  • springdata框架对es集成
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【mysql】环境安装、服务启动、密码设置
  • 4个实用的微服务测试策略
  • 78. Subsets
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Docker: 容器互访的三种方式
  • dva中组件的懒加载
  • JavaScript 一些 DOM 的知识点
  • JavaScript设计模式之工厂模式
  • Java的Interrupt与线程中断
  • python3 使用 asyncio 代替线程
  • RxJS: 简单入门
  • underscore源码剖析之整体架构
  • Vue2 SSR 的优化之旅
  • 工程优化暨babel升级小记
  • 关于for循环的简单归纳
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 基于遗传算法的优化问题求解
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 实现简单的正则表达式引擎
  • 优秀架构师必须掌握的架构思维
  • 由插件封装引出的一丢丢思考
  • - 转 Ext2.0 form使用实例
  • #1014 : Trie树
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .a文件和.so文件
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net开发时的诡异问题,button的onclick事件无效
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • :如何用SQL脚本保存存储过程返回的结果集
  • [ linux ] linux 命令英文全称及解释
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [20181219]script使用小技巧.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [51nod1610]路径计数