首页 > 其他分享 >有效的字母异位词

有效的字母异位词

时间:2024-11-19 09:15:23浏览次数:3  
标签:有效 int 异位 字母 get mapS arrT arrS mapT

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

字母异位词

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • s 和 t 仅包含小写字母

进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

class Solution {
    public boolean isAnagram(String s, String t) {
        Map<Character,Integer> mapS = new HashMap<>();
        Map<Character,Integer> mapT = new HashMap<>();
        char[] arrS = s.toCharArray();
        char[] arrT = t.toCharArray();
        for (int i = 0; i < s.length(); i++) {
            mapS.put(arrS[i], (mapS.containsKey(arrS[i]) ? mapS.get(arrS[i]) : 0) + 1);
        }
        for (int i = 0; i < t.length(); i++) {
            mapT.put(arrT[i], (mapT.containsKey(arrT[i]) ? mapT.get(arrT[i]) : 0) + 1);
        }
        if (mapS.keySet().size() != mapT.keySet().size()) {
            return false;
        }
        for (char key : mapS.keySet()) {
            int numS = mapS.get(key);
            int numT = mapT.containsKey(key) ? mapT.get(key) : 0;
            if (numS != numT) {
                return false;
            }
        }
        return true;
    }
}

标签:有效,int,异位,字母,get,mapS,arrT,arrS,mapT
From: https://blog.csdn.net/linsa_pursuer/article/details/143872600

相关文章

  • 代码随想录算法训练营第六天|哈希表|LC242. 有效的字母异位词|LC349. 两个数组的交集|
    哈希表    哈希表:用来快速判断一个元素是否出现在集合里;O(1);    哈希碰撞:比如小王和小李都映射到索引下表1的位置,有2中解决办法(拉链法和线性探测法);    拉链发:通过索引找到,其实拉链发就是要选择适当的哈希表的大小,这样既不会因为数组空值而浪费大量内......
  • 数据爬取后,如何进行有效的数据清洗和分析?
    在大数据时代,数据的价值不言而喻。数据爬取是获取数据的第一步,但爬取后的数据往往包含噪声、缺失值和不一致性,这就需要进行数据清洗。清洗后的数据可以用于进一步的分析,以提取有价值的信息和知识。本文将介绍数据爬取后的数据清洗和分析流程,并提供代码示例。数据清洗的重要性......
  • 企业如何有效管理人才
    随着市场竞争的加剧,人才已成为企业不可或缺的核心资源。然而,众多中小企业在人才管理方面仍面临人才流失、招聘困难、培训不足等多重挑战。为此,华恒智信基于深入的行业洞察和丰富的实战经验,为企业家们提供了一系列针对性的解决方案。在竞争激烈的当今市场,人才无疑是企业最宝贵......
  • 941. 有效的山脉数组
    题目自己写的classSolution{public:boolvalidMountainArray(vector<int>&arr){intl=0,r=1;boolup=true,change=false;if(arr.size()<3)returnfalse;if(arr[r]<arr[l])......
  • (LeetCode 热题 100) 49. 字母异位词分组(哈希表、字符串)
    题目:49.字母异位词分组思路:哈希表。将每个字符串升序排序,然后采用哈希表即可。C++版本:classSolution{public:vector<vector<string>>groupAnagrams(vector<string>&strs){ //哈希表unordered_map<string,vector<string>>mp;//遍历......
  • 字节青训营 相邻字母匹配计数问题
    问题描述小F有一个由大写字母和小写字母组成的字符串。她想知道,在忽略字母大小写的情况下,有多少对相邻的字母是相等的。例如,对于字符串 "aABbbC",在忽略大小写的情况下,有3对相邻字母是相等的,分别是 "aA","AB" 和 "bb"。测试样例样例1:输入:s="aABbbC"输出:3样例2:......
  • opencv 之 图像处理与透视变换:从发票图片提取有效信息
    摘要在日常生活中,发票的处理是一项常见的任务。然而,由于拍摄角度、光线等因素的影响,直接从照片中提取发票信息往往存在困难。本文将介绍如何使用OpenCV库进行图像处理和透视变换,从而有效地从发票图片中提取有用信息。我们将通过一个具体的例子,展示如何从一张发票图片中提取出......
  • 谷歌广告账户被封是什么原因?如何有效申诉?
    GoogleAds是全球最大的在线广告平台之一,为广告主提供了广泛的广告服务。然而,即使在遵守规则的情况下,有时账户也可能因为各种原因遭遇封禁。了解这些原因和申诉方法对于维护广告账户的健康至关重要。一、GoogleAds封户原因:1、违反平台政策:1)规避系统:常见原因包括在账户被......
  • 魅族市场 签名空包 找不到meizu的证书链。meizu必须引用包含私有密钥和相应的公共密
    官方地址:https://open.flyme.cn/docs?id=18详解:1.下载空白 下载后解压得到 jarsigner-verbose-keystore.\tp.keystore-signedjarmeizuemptyapk-release-signed.apkmeizuemptyapk-release-unsigned.apktestalias给apk包签名的方式有很多种,我们推荐您使用JDK自带......
  • 代码随想录算法训练营第三十天| 452. 用最少数量的箭引爆气球 、435. 无重叠区间 、76
    452.用最少数量的箭引爆气球思路:以前做过最大不相交子序列的题,这次也是往这根据某一端排序的思路想的,排序后如下图,只需要维护一个公共序列的右边界r就可以了,下一次判断时,只需要判断子区间的左边是否小于r。这个题有点坑的是使用Arrays排序,如果使用昨天的方法:Arra......