力扣Lc23--- 290. 单词规律(java版)-2024年3月27日

1.题目描述
在这里插入图片描述
2.知识点
1)思路
(1)s.split(" "); 是将字符串 s 按空格进行分割,得到一个单词列表。
(2)建立模式字符和单词之间的双向映射关系,我们可以使用两个哈希映射(或字典)来实现。
(3)遍历 pattern 和 words 同时,为每个模式字符和单词建立双向的映射关系。
(4)查当前的模式字符和单词是否已经在映射中,如果不在,则添加映射;如果在但不匹配,则返回 false。
2)mapPatternToWord.get(‘a’):获取模式字符 a 对应的单词,这应该是之前映射中存储的值。
.equals(“dog”):检查获取的单词是否等于 “dog”
!:这是一个逻辑“非”操作符,表示取反。所以!:这是一个逻辑“非”操作符,表示取反。
!mapPatternToWord.get(‘a’).equals(“dog”) 的意思是:如果获取的单词不等于 “dog”。
3.代码实现

class Solution {public boolean wordPattern(String pattern, String s) {String[] words=s.split(" ");//字符串分割成单词数组//比如[dog cat cat dog] 变成了["dog" "cat" "cat" "dog"]//如果模式长度和单词字符串的长度不相同,返回falseif(pattern.length()!=words.length){return false;}HashMap<Character,String> PatternToWord=new HashMap<>();HashMap<String,Character> WordtoPattern=new HashMap<>();for(int i=0;i<pattern.length();i++){char ch=pattern.charAt(i);//获取当前字符String word=words[i];//获取单词数组的当前单词if(PatternToWord.containsKey(ch)){if(!PatternToWord.get(ch).equals(word)){return false;}}else{PatternToWord.put(ch,word);}if(WordtoPattern.containsKey(word))//检查当前单词是否已经在 WordtoPattern 映射中{// 如果单词已经在映射中,检查它对应的模式字符是否与当前模式字符相同if(WordtoPattern.get(word)!=ch){return false;// 如果不相同,直接返回 false}}else{WordtoPattern.put(word,ch);}}return true;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572522.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

验证码/数组元素的复制.java

1&#xff0c;验证码 题目&#xff1a;定义方法实现随机产生一个5位的验证码&#xff0c;前面四位是大写或小写的英文字母&#xff0c;最后一位是数字 分析&#xff1a;定义一个包含所有大小写字母的数组&#xff0c;然后对数组随机抽取4个索引&#xff0c;将索引对应的字符拼…

做跨境用什么代理IP?如何分辨代理IP类型?

跨境外贸是近几年来的热门行业&#xff0c;在众多助力跨境出海的工具中&#xff0c;代理IP也是强力的一大保障。不仅可以帮助企业拓展更大的地区市场&#xff0c;更加顺畅进行市场调查&#xff0c;更重要地&#xff0c;在TikTok、Amazon、Ebay、Instagram、Etsy等等跨境平台业务…

Day23:事务管理、显示评论、添加评论

事务管理 事务的定义 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元&#xff0c;这系列操作要么全执行&#xff0c;要么全放弃执行。 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的最小执行体&#xff08;事务中部分执行失败就会回滚 。一致性(C…

教程2_图像的合并及融合

1、图像加法 您可以通过OpenCV函数 cv.add() 或仅通过 numpy 操作 res img1 img2 添加两个图像。两个图像应具有相同的深度和类型&#xff0c;或者第二个图像可以只是一个标量值。 注意: OpenCV加法和Numpy加法之间有区别。OpenCV加法是饱和运算&#xff0c;而Numpy加法是模运…

Multimodal Chain-of-Thought Reasoning in Language Models阅读笔记

论文&#xff08;2023年&#xff09;链接&#xff1a;https://arxiv.org/pdf/2302.00923.pdf GitHub项目链接&#xff1a;GitHub - amazon-science/mm-cot: Official implementation for "Multimodal Chain-of-Thought Reasoning in Language Models" (stay tuned a…

XSS学习(cookie远程登录演示)

1.HTTP特点&#xff1a; 1.请求应答模式。 2.灵活可扩展 3.可靠传输 4.无状态。 这里给大家举一个例子&#xff1a; HTTP是无状态的&#xff0c;所按理来说我每进行一次会话&#xff0c;比如我在CSDN发一个帖子&#xff0c;好像按理来以说我都要进行一次重新登陆&#xff0…

javaSwing坦克大战游戏

在游戏开发领域&#xff0c;坦克大战是一款经典的游戏&#xff0c;其简单而又耐玩的玩法吸引了无数玩家。而今&#xff0c;在Java编程技术的支持下&#xff0c;我们可以用Java Swing技术轻松实现这款经典游戏。本文将介绍如何使用Java Swing技术编写坦克大战游戏&#xff0c;并…

[flask]执行上下文的四个全局变量

flask上下文全局变量&#xff0c;程序上下文、请求上下文、上下文钩子 -- - 夏晓旭 - 博客园 (cnblogs.com) 执行上下文 执行上下文&#xff1a;即语境&#xff0c;语意&#xff0c;在程序中可以理解为在代码执行到某一行时&#xff0c;根据之前代码所做的操作以及下文即将要…

2024年腾讯云4核8G服务器多少钱一年?买1年送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

华为数通 HCIP-Datacom H12-831 题库补充(3/27)

2024年 HCIP-Datacom&#xff08;H12-831&#xff09;最新题库&#xff0c;完整题库请扫描上方二维码&#xff0c;持续更新。 如图所示&#xff0c;关于R4路由器通过IS-IS计算出来的IPv6路由&#xff0c;哪一选项的描述是错误的&#xff1f; A&#xff1a;R4通过IS—IS只学习到…

取消springboot中的Test类中的日志打印

使用SpringBootTest注解进行单元测试时, 打印东西的时候,总会伴随很多的无关紧要的日志信息&#xff0c;影响观感。去掉这些日志应该怎么做呢 ? 两个步骤: 第一步、修改application.properties logging.level.rootoff logging.level.org.springframeworkoff # 关闭baner信息…

SpringMvc执行流程源码解析

一、简介 Spring web Mvc是基于ServletApi构建的原始Web模块&#xff0c;从一开始就包含在Spring框架中&#xff1b; 从Servlet到SpringMvc 最典型的MVc就是JSPServletjavaBean的模式&#xff1b; 弊端&#xff1a; 1、xml下配置Servlet的映射非常麻烦&#xff0c;效率低&…