首页 > 其他分享 >力扣242.有效的字母异位词

力扣242.有效的字母异位词

时间:2024-10-17 22:49:20浏览次数:7  
标签:示例 int 异位 复杂度 力扣 哈希 242 字母

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

给定两个字符串 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 仅包含小写字母

思路:哈希表

数组其实就是一个简单哈希表,定义一个数组,来记录字符串s里字符出现的次数。

把字符映射到哈希表的索引下标。

代码:

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length()){
            return false;
        }
        int[] nums=new int[26];
        for(int i=0;i<s.length();i++){
            // 并不需要记住字符a的ASCII,只要求出一个相对数值就可以了
            nums[s.charAt(i)-'a']++;//将字母映射到 0-25 的范围内
            nums[t.charAt(i)-'a']--;
        }
        for(int i=0;i<nums.length;i++){
            if(nums[i]!=0){
                return false;
            }
        }
        return true;
    }
}

复杂度分析:

时间复杂度:O(n)

复杂度:O(1)

标签:示例,int,异位,复杂度,力扣,哈希,242,字母
From: https://blog.csdn.net/m0_74931837/article/details/142917047

相关文章

  • 力扣349.两个数组的交集
    题目链接:349.两个数组的交集-力扣(LeetCode)给定两个数组 nums1 和 nums2 ,返回 它们的 交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[......
  • 20222423 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容主要学习了有关后门的攻击案例,后门造成的影响以及原理等,通过实验学会使用不同的工具实现对目标主机的渗透监听,获取主机shell等等,体会后门攻击的过程,从而增强自己的信息安全保护意识。1.1实验要求使用netcat获取主机操作Shell,cron启动某项任务(任务自定)使用socat......
  • 【状态机DP】力扣309. 买卖股票的最佳时机含冷冻期
    给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。注意:你不能同时参与多笔交易(你必须在再次购......
  • 【状态机DP】【hard】力扣188. 买卖股票的最佳时机 IV
    给你一个整数数组prices和一个整数k,其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。也就是说,你最多可以买k次,卖k次。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例......
  • 力扣刷题_SQL50题
    高频SQL50题(基础版)-学习计划-力扣(LeetCode)全球极客挚爱的技术成长平台602.好友申请II:谁有最多的好友题目:编写解决方案,找出拥有最多的好友的人和他拥有的好友数目。生成的测试用例保证拥有最多好友数目的只有1个人。CreatetableIfNotExistsRequestAccepte......
  • 力扣面试_SQL50题
    高频SQL50题(基础版)-学习计划-力扣(LeetCode)全球极客挚爱的技术成长平台585.2016年的投资CreateTableIfNotExistsInsurance(pidint,tiv_2015float,tiv_2016float,latfloat,lonfloat);TruncatetableInsurance;insertintoInsurance(pid,tiv_2015,......
  • 【C语言刷力扣】2206.将数组划分成相等数对
    题目:解题思路:    题目中要求元素成数对出现,即每个元素出现偶数次。用哈希表存放每个数出现的次数,再循环查看每个数的次数是否位偶数。typedefstruct{intkey;intcount;UT_hash_handlehh;}hashEntry;booldivideArray(int*nums,intnumsS......
  • 2024-2025-1 202421310 《计算机基础与程序设计》第3周学习总结
    学期(如2024-2025-1)学号(如:20241300)《计算机基础与程序设计》第X周学习总结作业信息|这个作业属于哪个课程|https://www.cnblogs.com/rocedu/p/9577842.html|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03|这个作业的目标|数字分类与计数法位......
  • 【AD2426/7/8_A2B收发器技术参考手册】第四章 事件控制
    【AD2426/7/8_A2B收发器技术参考手册】第四章事件控制四,A2B事件控制4.1错误管理4.1.1下行数据错误检测4.1.2上行数据错误检测4.1.3数据时隙错误纠正4.1.4控制和响应错误处理4.1.5错误信号4.1.6A2B通信和位错误4.1.7从属节点中断处理4.1.8错误管理寄存器4.1.......
  • 力扣数据库1045. 买下所有产品的客户
    一、数据1045.买下所有产品的客户-力扣(LeetCode)Customer 表:+-------------+---------+|ColumnName|Type|+-------------+---------+|customer_id|int||product_key|int|+-------------+---------+该表可能包含重复的行。customer_id不......