当前位置: 首页 > 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)

http://www.lryc.cn/news/327532.html

相关文章:

  • 【CASS精品教程】CASS中计算四参数和七参数(以RTK数据为例)
  • 什么是RISC-V?开源 ISA 如何重塑未来的处理器设计
  • 展馆设计中展示有哪些要求
  • python实战之PyQt5桌面软件
  • Switch 和 PS1 模拟器:3000+ 游戏随心玩 | 开源日报 No.174
  • 免费翻译pdf格式论文
  • 3D产品可视化SaaS
  • 浙大版《C语言程序设计(第4版)》题目集-习题3-5 三角形判断
  • Java封装、继承、多态和抽象深度解析
  • 深度学习每周学习总结P3(天气识别)
  • 通过iOS网络抓包工具实现移动应用数据安全监控
  • Stable Diffusion WebUI 生成参数:脚本(Script)——提示词矩阵、从文本框或文件载入提示词、X/Y/Z图表
  • synchronized和volatile的原理及应用
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果
  • 11 开源鸿蒙OpenHarmony轻量系统源码分析
  • 专题:一个自制代码生成器(嵌入式脚本语言)之应用实例
  • Appium设备交互API
  • Qlib-Server部署
  • CMC学习系列 (4):β段CMC可以作为一种中风治疗的生物标志物和治疗靶点
  • jmeter中参数加密
  • YOLOv8改进 | 检测头篇 | 2024最新HyCTAS模型提出SAttention(自研轻量化检测头 -> 适用分割、Pose、目标检测)
  • verilog设计-cdc:多比特信号跨时钟域(DMUX)
  • 服务器停止解析域名,但仍然可以访问到
  • Centos系统与Ubuntu系统防火墙区别,以及firewalld、ufw和iptables三者之前的区别。
  • ES6 学习(三)-- es特性
  • 使用ChatGPT的场景之gpt写研究报告,如何ChatGPT写研究报告
  • librdkafka的简单使用
  • 【iOS ARKit】播放3D音频
  • ES学习日记(四)-------插件head安装和一些配套插件下载
  • flask+uwsgi+云服务器 部署服务端