【初级算法】15. 有效的字母异位词

题目:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

例如,
s = "anagram",t = "nagaram",返回 true
s = "rat",t = "car",返回 false

注意:
假定字符串只包含小写字母。

提升难度:
输入的字符串包含 unicode 字符怎么办?你能能否调整你的解法来适应这种情况?

1,解题思路:

本题比较简单,直接统计两个字符串中128个字符出现的个数,然后就比较数量是否相等即可。

class Solution {
public:
    bool isAnagram(string s, string t) {
       map<char,int> maps;
       map<char,int> mapt;
       
       if(s.size()!=t.size()){
           return false;
       }
        
       for(int i = 0;i < s.size();++i){
           if(maps.find(s[i])!=maps.end()){
               maps[s[i]] += 1;
           }else{
               maps[s[i]] = 1;
           }
           
           if(mapt.find(t[i])!=mapt.end()){
               mapt[t[i]] += 1;
           }else{
               mapt[t[i]] = 1;
           }
       }
       
       for(int i = 0;i < t.size();++i){
           if(maps[s[i]]!=mapt[s[i]]){
               return false;
           }
       }
        
       return true;
    }
};

 

转载于:https://www.cnblogs.com/mikemeng/p/8984832.html

【DRAM存储器六十七】DDR5介绍--训练相关之write leveling 详述DDR5 write leveling细节 阅读详情

相关推荐

oracle11隐藏参数调整

oracle11隐藏参数调整

初级算法15.有效字母异位词

题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母 分析:此题就是判断两个字符串是否由相同的字...

weixin_30715523的博客 143

量化交易平台+可视化股票量化系统完整源码+说(支持选股,历史数据自动下载,策略回测及参数优化,实盘交易和常用的统计功能).zip

【资源说明】1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!

LeetCode初级算法15有效字母异位词

????给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意: 若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 提示: 1 <= s.length, t.length <= 5 * 104 s 和 t 仅包含小写字母 进阶: 如果输入字符串包含

CSNZのBlog 540

【leetcode初级算法JS实现】15.有效字母异位词

有效字母异位词

未来可期 238

【数据结构和算法】LeetCode,初级算法-15有效字母异位词

LeetCode,初级算法-有效字母异位词B站视频合集:视频讲解

数据结构和算法 423

LeetCode初级算法-字符串篇

时间过得真快,距离18年的1024已经一年了,一年前,刚开始在csdn上写博客,那时候对1024没有太上心,觉得自己不是一个程序员。经过了1年的学习,心态有了很大的变化,把写代码变得有仪式感,1024,不只是成长,更是挑战。 LeetCode的初级题或者说是简单题,跟智力和脑子没关系。锻炼的还是编程能力。就是说,这些题基本上看到就能有想法,它们锻炼的是把脑子中的想法快速转换为代码的能力。算是入...

王星星 1886

LeetCode 探索初级算法-字符串:15 有效字母易位词-20200327

15 有效字母易位词-20200327 中间断了两天,今天是周五,在下周一前会补上前面的两道题。 题目 给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。 示例 输入: s = "anagram", t = "nagaram" 输出: true 说明 你可以假设字符串只包含小写字母。 进阶 如果输入字符串包含 unicode 字符怎么办?你能否调...

干啥干不行,吃饭第一名 354

Leecode刷题笔记_初级算法_15有效字母异或词

两个哈希表存储出现的次数,再次遍历看他们存储的各个字符的数目是否相同即可。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词

qq_45149266的博客 98

力扣(LeetCode)初级算法第三弹(11~15

力扣(LeetCode)初级算法第三弹(11~15

weixin_57169969的博客 217

力扣-初级算法-字符串

行程长度编码(RLE)是一种字符串压缩方法,其工作原理是通过将连续相同字符(重复两次或更多次)替换为字符重复次数(运行长度)和字符的串联。例如,要压缩字符串 “3322251” ,我们将 “33” 用 “23” 替换,将 “222” 用 “32” 替换,将 “5” 用 “15” 替换并将 “1” 用 “11” 替换。具体来说,小于 −231 的整数应该被舍入为 −231 ,大于 231 − 1 的整数应该被舍入为 231 − 1。给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。

Hui01080的博客 1238

LeetCode——哈希表经典例题

242. 有效字母异位词   给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例二: 输入: s = "rat", t = "car" 输出: false 思路:定义一个数组叫做 record,大小为 26就可以了,初始化为0,因为题目规定两个字符串的的字符均是小写字母。 class So

weixin_53598445的博客 1697

算法工程师面试50题解析:初级应试策略与经典案例深度解读

面试是算法工程师求职的关键环节,初级岗位的面试通常聚焦于数据结构、算法基础、机器学习理论和基本编程能力。应对这类面试,核心在于建立清晰的知识体系、掌握解题方法论、并通过大量练习内化思维模式。本文将围绕四大核心模块,结合具体题目和生动案例,详解应对策略。这是面试的基石,问题通常围绕常见数据结构的操作与经典算法的应用。解题实战示例:两数之和 问题:在数组中找到两个数,使它们的和等于目标值。 二、机器学习基础:理解概念,联系实际 初级面试不会要求推导复杂公式,但必须清晰理解核心概念及其应用场景。初级岗位会考

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 379

2024年最全【Day15算法刷题(解题思路+详细注释(1),资深大数据开发面试题

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。起始索引等于 6 的子串是 “bac”, 它是 “abc” 的异位词。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。起始索引等于 1 的子串是 “ba”, 它是 “ab” 的异位词。起始索引等于 2 的子串是 “ab”, 它是 “ab” 的异位词。将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。

2401_84182073的博客 918

涨姿势了,这些鲜为人知的 Python 骚操作你知道几个

众所周知,Python 以简洁著称,这个从我们写的第一行 Python 代码中就能看出来。今天派森酱就给大家整理了一些经典的一行代码操作,可能有些你还不知道,但对你未来的工作(装逼)肯定有大用处。 0x01 进制转换 平时的编码过程中,进制转换是非常常用的一个功能,尤其是涉及到一些算法的时候更是频繁。事实上 Python 已经内置了各个进制转换的 Api,咱们直接调用即可。 In [1]: int('1100', 2) Out[1]: 12 In [2]: int('30', 8) Out[2]:

python2021_的博客 357

涨姿势!这些鲜为人知的 Python 骚操作你知道几个

文 |豆豆来源:Python 技术「ID: pythonall」众所周知,Python 以简洁著称,这个从我们写的第一行 Python 代码中就能看出来。今天派森酱就给大家整理了一些经典...

weixin_48923393的博客 306

代码随想录算法训练营第二十五天|491.递增子序列,46.全排列,47.全排列 II

给你一个整数数组 nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

weixin_47748259的博客 1036

leetcode pdf java_LeetCode算法练习个人总结(Java).pdf

目录前言第一部分初级入门算法第一章数组1.1删除排序数组中的重复项1.2删除排序数组中的重复项II1.3买卖股票的最佳时机1.4买卖股票的最佳时机II1.5移动零1.6区间子数组个数1.7搜索插入位置1.8合并两个有序数组1.9两个数组的交集第二章哈希表2.1两数之和2.2错误的集合2.3翻转卡片游戏2.4有效字母异位词第三章链表第四章数学4.1加一4.2反转整数4.3排列硬币4.4完全平方数4...

weixin_39603132的博客 641

滑动窗口算法解决最小覆盖子串问题

滑动窗口算法是字符串处理中的经典技术,通过动态维护双指针窗口来高效解决子串匹配问题。其核心原理是利用哈希表统计字符频率,通过左右指针的协同移动实现O(n)时间复杂度。该技术在DNA序列分析、文档检索等需要快速定位特征片段的场景具有重要价值。以力扣热门题目'最小覆盖子串'为例,算法需要正确处理字符重复、边界条件等关键点,其中哈希表预分配和延迟指针移动等优化技巧可显著提升性能。掌握滑动窗口算法不仅能解决子串匹配问题,还可扩展到最长无重复子串、字符串排列等同类问题。

weixin_33698823的博客 429

Leetcode|Python 刷题

一、题目:两数之和 二、解题 1、暴力遍历:两个for循环 2、思考:两数之和,知道了和target,遍历一遍的时候,又知道加数的其中一个value,就可以反减出另一个加数,同时利用词典的特性【hash算法,可以快速的检查某个键值存在与否。】,快速定位另一个加数的位置。 详细可看:力扣官方题解 在的话,即,已排除了重复同一个数相加的情况,因为这个时候,该数本身还不在词典中。 不在的话,就普通遍历一遍,加入词典即可。 第二个方法其实也算是用空间换时间了。 ...

weixin_44019018的博客 1151

leetcode总结(初级阶段)

1.从排序数组中删除重复项 统计法 2.买卖股票的最佳时机 II 状态位法 3.旋转数组 切片法 4.存在重复 统计法 5.只出现一次的数字 统计法(超时) 位操作 新建列表记录法 6.两个数组的交集 II 统计法 7.加一 转化法 8.移动零 统计法 9.两数之和 统计法 10.有效的数独 穷...

weixin_38740463的博客 260
上一篇: 【初级算法】14. 字符串中的第一个唯一字符
下一篇: 【初级算法】16. 验证回文字符串
dh0203
博客等级 码龄12年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值