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

242.有效的字母异位词

题目:242. 有效的字母异位词 - 力扣(LeetCode)

代码思路:

数据范围连续且数据较小,选用数组作为哈希的数据结构,搜索快一点。

根据题目意思,只要是将s串中的字符拿出来任意排序就是异位词了(可以重复),又因为只有‘a’-‘z’26个小写字母,定义hash[26]数组,将s串中的字母出现的次序存起来,再用t串中的去减,都为0,既满足。

代码:

class Solution {
public:bool isAnagram(string s, string t) {int hash[26] = { 0 };for(int i = 0; i <s.size(); i++)hash[s[i]-'a']++;for(int i = 0; i <t.size(); i++)hash[t[i]-'a']--;for(int i = 0; i < 26; i++){if(hash[i] != 0)return false;}return true;} 
};

类似题目:383. 赎金信 - 力扣(LeetCode)

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {int hash[26] = {0};//addif (ransomNote.size() > magazine.size()) {return false;}for (int i = 0; i < magazine.size(); i++) {// 通过record数据记录 magazine里各个字符出现次数hash[magazine[i]-'a'] ++;}for (int j = 0; j < ransomNote.size(); j++) {// 遍历ransomNote,在record里对应的字符个数做--操作hash[ransomNote[j]-'a']--;// 如果小于零说明ransomNote里出现的字符,magazine没有if(hash[ransomNote[j]-'a'] < 0) {return false;}}return true;}
};


http://www.mrgr.cn/news/50183.html

相关文章:

  • 2022年华为杯数学建模竞赛A题论文和代码
  • Datawhale 组队学习 文生图 Prompt攻防 task02随笔
  • 糖基转移酶数据库及代表性文章进展-汇总系列
  • 力扣题解(鸡蛋掉落,两枚鸡蛋)
  • 用html、css和js来实现冒泡排序
  • FPGA驱动HDMI 初级篇
  • 10月15日 -- 11月15日 ,参与《人工智能导论》学习打卡赢B站大会员
  • 饭局上做到这5点,让你轻松和大家打成一片相谈甚欢!
  • Thread类的基本用用法
  • SpringCloud-OpenFeign-服务接口调用
  • Java数据结构--顺序表
  • nemo-guardrails简单应用
  • 二叉平衡树(AVL树)Java语言实现
  • 家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)
  • Diffusion model原理:李宏毅篇(1)
  • threejs-法线向量
  • 周易解读:推荐教材
  • 【C语言刷力扣】2206.将数组划分成相等数对
  • YOLOv11改进策略【Conv和Transformer】| ACmix 卷积和自注意力的结合,充分发挥两者优势
  • linux------缓冲区与C库的原理