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

【编程技巧】使用hash保存异位字符串

Coding Techniques

  • 使用hash保存异位字符串
    • 问题
    • 解决方案
    • 相关题目

使用hash保存异位字符串

问题

为了保存独一无二的字符串组成时,一般可以联想到使用数组保存字符数量,但是怎么保存到unordered_set或者unordered_map中呢?

如果使用下面形式:

using Key = array<int, 26>;
unordered_set<Key> us{}; // 会报错,implicit-default constructor

解决方案

上面代码的问题其实是没有对应的hash方法。

为了达到初始目标,可以使用string或者整型来达到目标

// string形式
unordered_set<string> us;
// ...
string tmp = srcStr;
sort(tmp.begin(), tmp.end());
us.insert(tmp); // us.emplace(tmp);


// 整型形式
unordered_set<int> us;
// ...

int key{};
for (auto c : s) {
	key |= 1 << (c - 'a');
}

us.emplace(key);

相关题目

3272. 统计好整数的数目

相关文章:

  • 教师教学技能大赛流程方案及细则
  • C#最新语言特性
  • Deepseek R1 和其他的大模型 共同辅助决策交通出行方案
  • 英语场景(一)
  • 当我尝试用AI组团去编故事
  • UDP、TCP的区别
  • 1.4 嵌入式系统的软件
  • 提升 AI 服务的稳定性:Higress AI 网关的降级功能介绍
  • 区块链共识机制详解
  • CentOS的ssh复制文件
  • C++ DAY3
  • SMT贴片车间高效运作实战指南
  • uniapp 网络请求封装(uni.request 与 uView-Plus)
  • 《深度学习实战》第2集:卷积神经网络(CNN)与图像分类
  • BDF7与glm的对话
  • 学习笔记-沁恒第四讲-米醋
  • 校园电子地图制作:校园三维地图从 CAD 图纸到 WebGIS 服务的完整链路
  • Spring Boot 集成 T-io 实现客户端服务器通信
  • 蓝桥杯定时器实现led闪烁
  • Proser:在项目中验证功能
  • 阿曼宣布美国与胡塞武装达成停火协议
  • 云南省司法厅党委书记、厅长茶忠旺主动投案,正接受审查调查
  • 商务部:自5月7日起对原产于印度的进口氯氰菊酯征收反倾销税
  • 以色列计划“占领加沙”,特朗普下周中东行结束之际将是“机会窗口”
  • 有乘客被高铁车门夹住?铁路回应:系突感不适下车,未受伤,列车正点发车
  • 韩国总统选举民调:共同民主党前党首李在明支持率超46%