【LeetCode】290. 单词规律

这里写自定义目录标题

  • 2023-8-30 09:34:23

290. 单词规律

2023-8-30 09:34:23

这道题目,我是根据 205. 同构字符串
的思路一样,都转化为另外一个第三方的字符串,在比较翻译过后的语句是不是一样的。


class Solution {public boolean wordPattern(String pattern, String s) {String[] s1 = s.split(" ");return helper1(pattern).equals(helper2(s1));}private String helper1(String str){int[] temp = new int[26];StringBuilder result = new StringBuilder();for(int i = 0; i < str.length(); i++){int c = str.charAt(i) - 'a';if(temp[c] == 0){temp[c] = i + 1;}result.append(temp[c]);}return result.toString();}private String helper2( String[] s1){Map<String, Integer> map =  new HashMap<String, Integer>();StringBuilder result = new StringBuilder();for(int i = 0 ; i < s1.length; i++){if(!map.containsKey(s1[i])){map.put(s1[i], i +1);}result.append(map.get(s1[i]));}return result.toString();}
}

在这里插入图片描述

看看官方的解法:

class Solution {// public boolean isIsomorphic(String s, String t) {//     return isIsomorphicHelper(s).equals(isIsomorphicHelper(t));// }public boolean wordPattern(String pattern, String str) {String[] words = str.split(" ");//字符和单词是互相映射,数量必须相等if (words.length != pattern.length()) {return false;}Map<Object, Integer> map = new HashMap<>();for (Integer i = 0; i < words.length; i++) {/*如果key不存在,插入成功,返回null;如果key存在,返回之前对应的value。以pattern = "abba", str = "dog cat cat dog"为例,第1次:map.put('a',0)返回null,map.put("dog",0)返回null,两者相等;第2次:map.put('b',1)返回null,map.put("cat",1)返回null,两者相等;第3次:map.put('b',2)返回1,map.put("cat",2)返回1,两者相等;第4次:map.put('a',3)返回0,map.put("dog",3)返回0,两者相等,结果为 true。以pattern = "abba", str = "dog cat cat fish"为例,第1次:map.put('a',0)返回null,map.put("dog",0)返回null,两者相等;第2次:map.put('b',1)返回null,map.put("cat",1)返回null,两者相等;第3次:map.put('b',2)返回1,map.put("cat",2)返回1,两者相等;第4次:map.put('a',3)返回0,map.put("fish",3)返回null,两者不相等,结果为 false。*//** 为什么 Integer 在这里用的是 != 进行判断 ?* 1. 会返回null值,如果用equals进行判断,会产生空指针异常* 2. 理想状态的就是 Integer 的值在 0 - 25 之间进行判断,这一部分也是程序上需要返回true的情况*/if (map.put(pattern.charAt(i), i) != map.put(words[i], i)) {return false;}}return true;}
}    

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

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

相关文章

AP5192 DC-DC降压恒流LED汽车灯 LED长条灯 汽车雾灯驱动IC

AP5192是一款PWM工作模式,高效率、外围简单、 内置功率MOS管&#xff0c;适用于4.5-100V输入的高精度 降压LED恒流驱动芯片。最大电流1.5A。 AP5192可实现线性调光和PWM调光&#xff0c;线性调光 脚有效电压范围0.55-2.6V. AP5192 工作频率可以通过RT 外部电阻编程 来设定&…

MES在人工智能方面的应用

MES&#xff08;制造执行系统&#xff09;在人工智能方面的应用主要集中在优化制造流程、提高生产效率和质量控制等方面。以下是一些MES在人工智能领域的应用案例&#xff1a; 1. 预测性维护&#xff1a;通过收集和分析生产设备的传感器数据&#xff0c;结合机器学习算法&am…

说说构建流批一体准实时数仓

分析&回答 基于 Hive 的离线数仓往往是企业大数据生产系统中不可缺少的一环。Hive 数仓有很高的成熟度和稳定性&#xff0c;但由于它是离线的&#xff0c;延时很大。在一些对延时要求比较高的场景&#xff0c;需要另外搭建基于 Flink 的实时数仓&#xff0c;将链路延时降低…

中央仓库更新失败,IDEA报错repository is non-nexus repo, or does not indexed

某个仓库未被识别为 Nexus 仓库&#xff0c;或者没有被正确地索引。导致引入依赖一直爆红&#xff0c;找不到。只有本地仓库的依赖没报错&#xff0c;因为下载过了&#xff0c;添加新的依赖就需要到远程仓库找就爆红。 解决 去阿里云Maven官网看了一下&#xff0c;发现阿里云…

pdf转换成图片转换器在线怎么转?pdf转换成图片具体方法介绍

很多用户们都是比较喜欢使用pdf文档的&#xff0c;由于这种文件格式的便携性非常高&#xff0c;所以广泛的应用于工作和学习领域&#xff0c;再加上pdf文档可以随意转换成为其他的文件格式&#xff0c;更是让pdf文档受到了更多用户们的欢迎&#xff0c;那么pdf转换成图片转换器…

【java】【已解决】IDEA启动报错:Lombok Requires Annotation Processing

解决办法&#xff1a; 1、根据异常提示操作&#xff1a; 直接点击错误提示后面的蓝色标识【Enable】&#xff08;小编点完了所以变灰色&#xff09;&#xff0c;此操作等价于下面的步骤&#xff1a; 【File】-->【Settings】-->【Build】-->【Compiler】-->【Ann…

Python分享之redis(2)

Hash 操作 redis中的Hash 在内存中类似于一个name对应一个dic来存储 hset(name, key, value) #name对应的hash中设置一个键值对&#xff08;不存在&#xff0c;则创建&#xff0c;否则&#xff0c;修改&#xff09; r.hset("dic_name","a1","aa&quo…

校园用电安全管理系统可以识别违规电器吗

校园用电安全管理系统是处理恶意用电问题有效手段之一&#xff0c;系统具有实时监测、异常预警、监测设备运行状态、远程控制用电等功能&#xff0c;可以从根本上管理学校用电量&#xff0c;制定合理的用电计划&#xff0c;限制用电成本&#xff0c;避免各种恶意用电行为&#…

景联文科技数据标注:人体关键点标注用途及各点的位置定义

人体关键点标注是一种计算机视觉任务&#xff0c;指通过人工的方式&#xff0c;在指定位置标注上关键点&#xff0c;例如人脸特征点、人体骨骼连接点等&#xff0c;常用来训练面部识别模型以及统计模型。这些关键点可以表示图像的各个方面&#xff0c;例如角、边或特定特征。在…

Python项目实战之《飞机大战游戏》

目录 一、Pygame库包简介 二、Pygame安装 三、项目开发思路 3.1前言 3.2飞机大战开发步骤 一、Pygame库包简介 Pygame是一个基于python的游戏开发库&#xff0c;它提供一系列的工具和接口&#xff0c;使开发人员能够轻松的创建各种类型的游戏&#xff0c;包括2D游戏和简单…

【LeetCode-中等题】105. 从前序与中序遍历序列构造二叉树

文章目录 题目方法一&#xff1a;递归 题目 方法一&#xff1a;递归 preorder [3,9,20,15,7] inorder [9,3,15,20,7] 首先根据 preorder 找到根节点是 3然后根据根节点将 inorder 分成左子树和右子树 左子树 inorder [9]右子树 inorder [15,20,7]这时候3是根节点 3的左子树…

C++信息学奥赛1182:合影效果

#include <bits/stdc.h> using namespace std;int main() {int n; // 人数cin >> n;string arr[n]; // 存储性别的数组double brr[n]; // 存储身高的数组// 读取每个人的性别和身高for (int i 0; i < n; i){cin>>arr[i]>>brr[i];}// 对男…

使用Rust开发命令行工具

生成二进制文件&#xff0c;将其扔到环境变量的path下即可~ 用rust打造实时天气命令行工具[1] 找到合适的API 使用该api[2] 如请求 api.openweathermap.org/data/2.5/weather?qBeijing&appidyour_key: { "coord": { "lon": 116.3972, "lat&quo…

【docker】容器的运行、停止、查看等基本操作

容器与镜像的区别 image镜像 Docker image是一个read-only文件&#xff0c;位于磁盘上这个文件包含文件系统&#xff0c;源码&#xff0c;库文件&#xff0c;依赖&#xff0c;工具等一些运行application所需要的文件可以理解成一个模板docker image具有分层的概念 container…

error: can‘t find Rust compiler

操作系统 win11 pip install -r requirements.txt 报错如下 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/56/fc/a3c13ded7b3057680c8ae95a9b6cc83e63657c38e0005c400a5d018a33a7/pyreadline3-3.4.1-py3-none-any.whl (95 kB) Building wheels for collected p…

Python编程——深入了解不可变的元组

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、元组是什么 二、元组的定义 1、相同类型组成元组…

力扣92. 局部反转链表

92. 反转链表 II 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&am…

接口优化通用方案

目录 批量异步、回调缓存预取池化并行锁粒度索引大事务海量数据 批量 批量思想&#xff1a;批量操作数据库 优化前&#xff1a; //for循环单笔入库 for(TransDetail detail:transDetailList){ insert(detail); } 优化后&#xff1a; batchInsert(transDetailList); 异步、回…

【论文精读】Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 前言Abstract1. Introduction2. Related Work3. Method3.1. Overall Architecture3.2. Shifted Window based Self-AttentionSelf-attention in non-overlapped windowsShifted window partitioning …

阿里云上linux服务器安装tomcat

一、准备材料 白嫖了试用期的服务器玩了一阵子&#xff0c;重新购买一个服务器 配置参数&#xff1a;1核2G 贷款1M 阿里云服务器、MobaXterm、jdk1.8、tomcat8.5.78 安装参数&#xff1a;jdk1.8.0;tomcat8.5.78 官方网址&#xff1a;tomcat官方网址、JDK-8 二、java环境…