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

刷题之单词规律同构字符串(leetcode)

同构字符串
在这里插入图片描述

单词规律
在这里插入图片描述

两个都是映射关系,用两张哈希表记录互相映射就可以了

同构字符串:

class Solution {
public:bool isIsomorphic(string s, string t) {//用两张哈希表做映射if(s.size()!=t.size()){return false;}unordered_map<char,char>tmap;for(int i=0;i<t.size();i++){if(tmap.find(t[i])!=tmap.end()){if(tmap[t[i]]!=s[i])return false;}else{tmap[t[i]]=s[i];}}unordered_map<char,char>smap;for(int i=0;i<s.size();i++){if(smap.find(s[i])!=smap.end()){if(smap[s[i]]!=t[i])return false;}else{smap[s[i]]=t[i];}}return true;}
};

单词规律:

class Solution {
public:bool wordPattern(string pattern, string s) {vector<string> snum;int l=0;int r=0;//先把字符串分成单词while(l<s.size()&&r<s.size()){while(s[r]==' '){r++;}while(r<s.size()&s[r]!=' '){r++;}string word(s.begin()+l,s.begin()+r);snum.push_back(word);l=r+1;}if(pattern.size()!=snum.size())return false;unordered_map<char,string>cmap;unordered_map<string,char>smap;for(int i=0;i<pattern.size();i++){if(cmap.count(pattern[i])&&cmap[pattern[i]]!=snum[i]){return false;}cmap[pattern[i]]=snum[i];if(smap.count(snum[i])&&smap[snum[i]]!=pattern[i]){return false;}smap[snum[i]]=pattern[i];}return true;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2022-10-26 Qt6.5版本后视频渲染
  • Go 初始化一个字典value是列表
  • 前端/python脚本/转换-使用天地图下载的geojson(echarts4+如果直接使用会导致坐标和其他信息不全)
  • MongoDB - 查询操作符:比较查询、逻辑查询、元素查询、数组查询
  • 安全防御----防火墙综合实验2
  • 图论---匈牙利算法求二分图最大匹配的实现
  • pdf只要前几页,pdf中只要前几页怎么处理
  • pytorch-pytorch之LSTM
  • DockerCompose介绍,安装,使用
  • 【错题集-编程题】四个选项(DFS + 剪枝 + 哈希表)
  • 利用 AI 解放双手:把“贾维斯”带进现实 | 开源专题 No.64
  • 拥抱UniHttp,规范Http接口对接之旅
  • 基于JavaSpringBoot+Vue+uniapp微信小程序校园宿舍管理系统设计与实现
  • wxml与标准的html的异同
  • NLP任务:情感分析、看图说话
  • 【5+】跨webview多页面 触发事件(二)
  • 10个确保微服务与容器安全的最佳实践
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Median of Two Sorted Arrays
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL主从复制读写分离及奇怪的问题
  • nginx 配置多 域名 + 多 https
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • React中的“虫洞”——Context
  • spring + angular 实现导出excel
  • Tornado学习笔记(1)
  • Vue学习第二天
  • vue总结
  • 笨办法学C 练习34:动态数组
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 小程序开发之路(一)
  • 一个项目push到多个远程Git仓库
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • No resource identifier found for attribute,RxJava之zip操作符
  • # SpringBoot 如何让指定的Bean先加载
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • ###C语言程序设计-----C语言学习(3)#
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (WSI分类)WSI分类文献小综述 2024
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十六)视图变换 正交投影 透视投影
  • (四)Linux Shell编程——输入输出重定向
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)JAVA中的堆栈
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET中 MVC 工厂模式浅析
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @Responsebody与@RequestBody
  • @Valid和@NotNull字段校验使用