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

刷题 -哈希

面试面试经典 150 题 - 哈希

383. 赎金信 - 一个哈希表搞定

在这里插入图片描述

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {int hash[26] = {0};for (auto& ch : magazine) {hash[ch - 'a']++;}for (auto& ch : ransomNote) {if (--hash[ch - 'a'] < 0) {return false;}}return true;}
};

⭐️⭐️⭐️205. 同构字符串 - 双向映射 - 两个哈希表

在这里插入图片描述

错误写法

在这里插入图片描述


// 错误写法
class Solution {
public:bool isIsomorphic(string s, string t) {if (s.size() != t.size()) return false;int hash_s[26] = {0}, hash_t[26] = {0};for (int i = 0; i < s.size(); ++i) {if (++hash_s[s[i] - 'a'] != ++hash_t[t[i] - 'a']) {return false;}}return true;}
};

双向映射 - 两个大小为128 的array

class Solution {
public:// 注意:s 和 t 由任意有效的 ASCII 字符组成// --> array 大小为128,而不是 26bool isIsomorphic(string s, string t) {if (s.size() != t.size()) return false;array<char, 128> s2t = {0};array<char, 128> t2s = {0}; for (int i = 0; i < s.size(); ++i) {char s_char = s[i];char t_char = t[i];if (s2t[s_char] == 0 && t2s[t_char] == 0) {s2t[s_char] = t_char;t2s[t_char] = s_char;} else if (s2t[s_char] != t_char || t2s[t_char] != s_char) {return false;}}return true;}
};
http://www.lryc.cn/news/455216.html

相关文章:

  • React响应式修改数组和对象
  • cerbot https证书免费自动续期
  • 嵌入式硬件设计
  • 2024.09.24 校招 实习 内推 面经
  • GIT安装及集成到IDEA中操作步骤
  • Java使用线程池创建线程
  • mysql UDF提权(实战案例)
  • 【瑞昱RTL8763E】刷屏
  • 【黑马点评】使用RabbitMQ实现消息队列——3.使用Jmeter压力测试,导入批量token,测试异步秒杀下单
  • 第 21 章 一条记录的多幅面孔——事务的隔离级别与 MVCC
  • javaScript操作dom的事件(3个案例+代码+效果图)
  • 国庆期间的问题,如何在老家访问杭州办公室的网络呢
  • 动态规划算法——三步问题
  • 【鸿蒙学习】深入解析鸿蒙应用与元服务:含义、区别、应用场景及创建方法
  • React学习01 jsx、组件与组件的三大属性
  • 项目——超级马里奥——Day(3)
  • 测试-BUG篇
  • vue2中 vue-count-to组件让数字从某个数字动态的显示到某个数字(后附vue3的用法)
  • AI模型部署初认识
  • 在线生成论文的网站有哪些?分享5款AI一键原创论文免费网站
  • 考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
  • Pandas 时间序列处理
  • PCL 1.8.1 + VTK 1.8.0 + QT5.14.2+ VS2017 环境搭建
  • 微信小程序和抖音小程序的分享和广告接入代码
  • 中断系统的原理
  • 安装Rust
  • vite学习教程05、vite+vue2构建本地 SVG 图标
  • 机器学习——自监督学习与无监督学习
  • 2003经典绝版100%仿盛大服务端火炬引擎原版
  • 银河麒麟服务器:更新软件源