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

有效的字母异位词

时间:2023-06-15 14:38:56浏览次数:24  
标签:arr false int 异位 字母 char 有效 length return


有效的字母异位词

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

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:

输入: s = “rat”, t = “car”
输出: false

解题思路:和字符串中的第一个唯一字符思路类似,先遍历s记录他的字符个数,再比对t,当t中出现的字符在s中没有出现或者次数用尽时说明t和s出现的字符不同

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s == null || t == null)
            return false;
        
        if(s.length() != t.length())
            return false;
        
        int len = s.length();
        char ch_s[] = s.toCharArray();
        int arr[] = new int[26];
        for(char c : ch_s) {
            arr[c - 'a']++;
        }
        
        for(int i = 0; i < len; i++) {
            char c = t.charAt(i);
            if(arr[c - 'a'] == 0)
                return false;
            arr[c - 'a']--;
        }
        
        return true;
    }
}


标签:arr,false,int,异位,字母,char,有效,length,return
From: https://blog.51cto.com/u_14813899/6487194

相关文章

  • python 检测免费代理ip是否有效
    python检测免费代理ip是否有效,免费ip获取地址https://www.zdaye.com/free/importrequestsIPAgents=["218.89.51.167:9091","120.37.121.209:9091","113.195.207.249:9091","113.195.207.249:9091","111.47.17......
  • 如何进行有效的软件测试
    在软件开发过程中,软件测试是不可或缺的一步。只有经过充分的测试,才能保证软件的质量和稳定性。但是,软件测试也并非一成不变的,不同的软件需要采用不同的测试方案。那么,如何进行有效的软件测试呢?下面将为大家介绍几点建议。1.定义测试目标和范围在进行软件测试之前,首先需要明确测试......
  • 有效的山脉数组
    给定一个整数数组arr,如果它是有效的山脉数组就返回 true,否则返回false。让我们回顾一下,如果arr 满足下述条件,那么它是一个山脉数组:arr.length>=3在 0<i <arr.length-1 条件下,存在 i 使得:arr[0]<arr[1]<...arr[i-1]<arr[i]arr[i]>arr[i+1]>...>......
  • 修改kubeadm证书长期有效
    获取kubernetesv1.18.16源码包gitclonehttps://github.com/kubernetes/kubernetes.git-bv1.18.16或者以下方式下载解压wgethttps://github.com/kubernetes/kubernetes/archive/refs/tags/v1.18.16.tar.gztar-zxvfv1.18.16.tar.gz进入目录cdkubernetes修改cmd/kub......
  • 使敏捷反思会议成功的 8 个极其有效的策略
    ​又是年底,各大app都推出各种年度总结,年度回顾。这些总结有的很有趣,有的很扎心,在推动年底KPI完成的同时,也给我们带来不同角度的思考。而在敏捷工作方法中,反思回顾也是敏捷实践很关键的一环。那么我们如何从敏捷反思会中获得更多积极成果,并由此建立一支强大的团队?我一直觉得......
  • 面试题 17.05. 字母与数字 (Medium)
    问题描述面试题17.05.字母与数字(Medium)给定一个放有字母和数字的数组,找到最长的子数组,且包含的字母和数字的个数相同。返回该子数组,若存在多个最长子数组,返回左端点下标值最小的子数组。若不存在这样的数组,返回一个空数组。示例1:输入:["A","1","B","C","D","2","3",......
  • 1138.字母板上的路径
    问题描述1138.字母板上的路径解题思路考虑到'z'单独在一个地方,因此移动顺序中,左下、右上不能反过来,即不能先往下再往左或者先往右再往上。代码classSolution{public:stringalphabetBoardPath(stringtarget){stringres;vector<int>cur_loc{0,......
  • 代码随想录算法训练营第25天 | ● 216.组合总和III ● 17.电话号码的字母组合 - 第7章
     第七章 回溯算法part02 今日内容:  ●  216.组合总和III●  17.电话号码的字母组合  详细布置   216.组合总和III  如果把 组合问题理解了,本题就容易一些了。  题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%B......
  • 代码随想录算法训练营第五天| 242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快
    242.有效的字母异位词 繁冗版:1,思路:先建立两个map,对应两个字符串对应的字符,同时对他们进行计数,如果这两个数字相等,那么就是相等2,代码1boolisAnagram_complicate(strings,stringt)2{3unordered_map<char,int>existedCharBys;45for(autoch......
  • 常见希腊字母读音
    \(\alpha\)阿尔法\(\beta\)贝塔\(\lambda\)兰布达\(\gamma\)伽马\(\delta\)德尔塔\(\epsilon\)伊普西龙\(\zeta\)泽塔\(\eta\)艾塔\(\theta\)西塔\(\xi\)西,可西\(\pi\)pi\(\rho\)rho\(\sigma\)西格玛\(\tau\)tau\(\phi\)phi......