力扣-290.单词规律

news2024/12/24 9:14:17

Idea

  1. 先建立一个hashmap,记录s串中的每个单词以及对应的下标
  2. 再建立一个hashmap,记录pattern串中相同字母以及对应的下标
  3. 遍历pattern串时,遇到不同字母存到pat表中,同时将下标对应的s中的单词存入到查重test集中,因为如果输入样例为"abba",“dog dog dog dog”,无法得出正确答案
  4. 最后通过比较pattern中有相同字母的位置对应s中出现相同的word即可,否则为false

AC Code

class Solution {
public:
    bool wordPattern(string pattern, string s) {
        unordered_map<char,int> pat;
        unordered_map<int,string> word;
        int n = s.size();
        int index = 0;
        for(int i = 0; i < n; i++) {
            string tmp = "";
            while(s[i] != ' ' && i < n){
                tmp += s[i];
                i++;
            }
            word[index++] = tmp;
        }
        if(word.size() != pattern.size()) return false;
        unordered_set<string> test;
        for(int i = 0; i < pattern.size(); i++) {
            if(pat.find(pattern[i]) == pat.end()){
                pat[pattern[i]] = i;
                if(test.find(word[i]) != test.end()){
                    return false;
                }
                test.insert(word[i]);
            }
            else {
                int con1 = pat[pattern[i]];
                int con2 = i;
                if(word[con1] != word[con2]) return false;
                if(pattern[con1] != pattern[con2]) return false;
            }
        }
        return true;
    }
};

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年8月京东洗烘套装行业品牌销售排行榜(京东数据开放平台)

鲸参谋监测的京东平台8月份洗烘套装市场销售数据已出炉&#xff01; 根据鲸参谋平台的数据显示&#xff0c;今年8月份&#xff0c;京东平台洗烘套装的销量为1.1万&#xff0c;同比增长约218%&#xff1b;销售额约为1.2亿&#xff0c;同比增长约279%。可以看到&#xff0c;洗烘…

零基础学前端(七)将HTML+CSS静态页面 发布成网站

我们学习了HTML和CSS&#xff0c;已经可以做出精美的静态网页。我们不慌学习JavaScript&#xff0c;因为Javascript的作用是为网页增加动作和数据交换&#xff0c;只能让网页更完美而已&#xff0c;现在网页的基础我们已经可以搭建&#xff0c;我们不妨先将网站发布出去&#x…

【C语言】——自定义类型详解:结构体,枚举,联合

大家好&#xff0c;今天为大家分享一下C语言中的那些自定义类型&#xff1a;结构体&#xff0c;枚举&#xff0c;联合&#xff0c;还有之前可能不曾了解的结构体内存对齐、位段等知识点&#xff01;&#xff01;&#xff01; 一、结构体 结构是一些值的集合&#xff0c;这些值称…

【C++】String类基本接口介绍(多看英文文档)

string目录 目录 如果你很赶时间&#xff0c;那么就直接看我本标题下的内容即可&#xff01;&#xff01; 一、STL简介 1.1什么是STL 1.2STL版本 1.3STL六大组件 1.4STL重要性 1.5如何学习STL 二、什么是string&#xff1f;&#xff1f;&#xff08;本质上是一个类&…

研究铜互连的规模能扩大到什么程度

随着领先的芯片制造商继续将finFET以及很快的纳米片晶体管缩小到越来越小的间距&#xff0c;使用铜及其衬垫和阻挡金属&#xff0c;较小的金属线将变得难以维持。接下来会发生什么以及何时发生&#xff0c;仍有待确定。 自从IBM在20世纪90年代向业界引入采用双镶嵌工艺的铜互连…

mysql四种事务隔离级别介绍

MySQL事务隔离级别定义了不同事务之间的隔离程度。MySQL标准列表了四个隔离级别&#xff0c;依次为读未提交&#xff08;READ UNCOMMITTED&#xff09;、读已提交&#xff08;READ COMMITTED&#xff09;、可重复读&#xff08;REPEATABLE READ&#xff09;和串行化&#xff08…

会务转化如何取得“数字化”突破?会务营销数字化功能推荐

​数字化时代下&#xff0c;企业日常的活动经营已经不再局限于简单的人员聚集和互动交流&#xff0c;而是需要更为标准化、专业化的会务系统&#xff0c;在对会务活动进行支撑和保障的同时&#xff0c;达成会务营销的更高转化和会务价值的更大输送。因此&#xff0c;企业需要选…

深度学习入门-0-简介与学习路线

一、简介 1.概述 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中的一个研究方向&#xff0c;它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。 深度学习是学习样本数据的内在规律和表示层次&#xff0c;这些学习过程…

选择文件:文件选择框的代码触发【极易版】【文件上传功能】

最近业务中遇到添加附件功能&#xff0c;点击对应元素&#xff0c;在特定条件下触发文件选择&#xff0c;然后将选中的文件上传到后台。 文件上传是使用阿里云实现的&#xff0c;这里主要说文件选择功能。也就是怎样添加附件到界面上。 一 简单实现——点击按钮触发图片选择框…

【linux】实现shell

自我名言&#xff1a;只有努力&#xff0c;才能追逐梦想&#xff0c;只有努力&#xff0c;才不会欺骗自己。 喜欢的点赞&#xff0c;收藏&#xff0c;关注一下把&#xff01; 如果发现内容有不对的地方欢迎在评论区批评指正&#xff0c;这是对我最大的鼓励&#xff01;&#xf…

对于现代互联网企业来说Python数据分析有什么用?

我们每一个人&#xff0c;每天无时无刻都在生产数据&#xff0c;一分钟内&#xff0c;微博上新发的数据量超过10万&#xff0c;b站的视频播放量超过600万……这些庞大的数字&#xff0c;意味着什么&#xff1f;意味着每天需要大量的人员要对这些数据进行分析&#xff0c;筛选有…

ssm+vue的教室信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的教室信息管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

OpenHarmony应用开发涉及的主要因素与UX设计规范

一、OpenHarmony应用开发涉及的主要因素 二、OpenHarmony应用开发UX设计规范 UX设计规范的主要内容与部分图标示例 2.OpenHarmony应用设计原则 设计原则&#xff0c;当为多种不同的设备开发应用时&#xff0c;有如下设计原则&#xff1a; 差异性&#xff0c;充分了解所要支…

LinearLayout里子view点击,其他空白间隙处禁止点击

LinearLayout里子view点击&#xff0c;其他空白间隙处禁止点击 经过不断摸索终于实现了。 像头条里黄色区域禁止点击实现。 可以通过在父 LinearLayout 上设置 android:clickable"true" 属性来实现&#xff0c;然后在子 View 上设置 android:clickable"false&…

1688-阿里巴巴批发网(获取商品的名称,价格,图片)

1688 item_get-获得1688商品详情 为了进行电商平台 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个1688 应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载1688 API的SDK并掌握基本的API基础…

红海云签约中材叶片,科技引领风电叶片行业人力资源数字化转型

中材科技风电叶片股份有限公司&#xff08;以下简称“中材叶片”&#xff09;隶属于世界500强央企集团——中国建材集团&#xff0c;是专业的风电叶片设计、研发、制造和服务提供商&#xff0c;致力于打造最为客户尊重与员工、股东信赖的具有全球竞争力的世界一流风电叶片企业。…

Spring Cloud阿里的nacos注册中心的使用 Feign远程调用 nacos配置中心的简单使用

原文档 注册中心 https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md 配置中心 https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-example…

XSAN数据恢复-XSAN迁移数据过程中误格式化存储系统的数据恢复案例

XSAN数据恢复环境&#xff1a; 昆腾存储&#xff0c;MAC OS操作系统&#xff0c;划分了9个数据卷&#xff08;1个META信息卷&#xff0c;8个DATA信息卷&#xff09;&#xff0c;存放视频类数据&#xff0c;MXF、MOV等格式文件。 XSAN故障&分析&#xff1a; 将存储空间从XS…

力扣337.打家劫舍3(树形dp)

题目描述&#xff1a; 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树…

Sip双按键对讲终端 医护对讲终端

Sip双按键对讲终端 医护对讲终端 1、前言 SIP对讲终端SIP-6002D双按键是一款采用了ARMDSP架构&#xff1b;配置了麦克风输入和扬声器输出&#xff0c;SIP-6002D带两路寻呼按键&#xff0c;可实现SIP对讲功能&#xff0c;作为SIP对讲的终端&#xff0c;主要用于银行调度对讲、部…