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

字母的异位数

做leetcode242题时出现了一个错误:

bool isAnagram(string s, string t) {map<char,int> cnt;bool ans = true;int lens = s.length();int lent = t.length();for(int i = 0;i < lens;i++){cnt[s[i]] += 1;cout << cnt[s[i]] << endl;}for(int i = 0;i < lent;i++){if(cnt[t[i]] == 0){cout << t[i] << cnt[t[i]] << endl;ans = false;break;}else{cnt[t[i]] -= 1;}}// if(!cnt.empty()){//     cout << "here" << endl;//     ans = false;// }for(auto& kv:cnt){if(kv.second != 0){ans = false;break;}}

其中判断map是否为空我使用

if(!cnt.empty()){cout << "here" << endl;ans = false;}

isAnagram 函数的主要问题在于检查 cnt 是否为空的方式。即使在字符串 t 中的字符与 s 完全匹配,cnt 也不会自动变为空,而是会包含值为零的字符计数。即当map里的数全都归零时,map也非空,而是字母和0的映射,因此不能用cnt.empty()判断,而是选用

for(auto& kv:cnt){if(kv.second != 0){ans = false;break;}}

来判断map内部是否都是0;

http://www.lryc.cn/news/480360.html

相关文章:

  • 达梦数据库DM Exception字符串截断错误,略坑~
  • vue实现图片无限滚动播放
  • python爬虫指南——初学者避坑篇
  • Vivado+Vscode联合打造verilog环境
  • Python 微服务架构
  • Android JNI 技术入门指南
  • 实在智能受邀出席柳州市智能终端及机器人产业发展合作大会
  • 算法求解(C#)-- 寻找包含目标字符串的最短子串算法
  • AscendC从入门到精通系列(二)基于Kernel直调开发AscendC算子
  • DAO模式的理解
  • 使用GitHub Actions实现CI/CD流程
  • 机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验
  • 滑动窗口(单调队列维护窗口)-acwing
  • ALB搭建
  • c# 动态lambda实现二级过滤(支持多种参数类型和模糊查询)
  • 第J5周:DenseNet+SE-Net实战
  • Intern大模型训练营(五):书生大模型全链路开源体系笔记
  • 聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布
  • 微信小程序开发,诗词鉴赏app,诗词搜索实现(三)
  • Kotlin 协程使用及其详解
  • 计算机组成原理--三章四章
  • 单片机工程使用链接优化-flto找不到定义_链接静态库
  • UniTask/Unity的PlayerLoopTiming触发顺序
  • 【报错记录】Steam迁移(移动)游戏报:移动以下应用的内容失败:XXX: 磁盘写入错误
  • C 语言学习-04【结构化程序设计】
  • 机器视觉:轮廓匹配算法原理
  • 动力商城-02 环境搭建
  • 【react】Redux基础用法
  • 使用Python分析股票价格数据并计算移动平均线的实用指南
  • 如何解决FPS低的问题?代码优化方法有哪些?