首页 > 其他分享 >哈希表——有效的字母异位词

哈希表——有效的字母异位词

时间:2022-10-27 11:14:43浏览次数:45  
标签:hash int 异位 字母 ++ num 哈希 return

暴力的解法,两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是 O(n^2)

利用哈希表解法

class Solution {
public:
    bool isAnagram(string s, string t) {
        // 定义hash数组
        int num = 26;
        int hash[num];
        for(int i = 0; i < num; i++)
        {
            hash[i] = 0;
        }

        for(int j = 0; j < s.size(); j++)
        {
            hash[s[j] - 'a']++;
        }

        for(int k = 0; k < t.size(); k++)
        {
            hash[t[k] - 'a']--;
        }

        for(int m = 0; m < num; m++)
        {
            if(hash[m] != 0)
            {
                return false;
            }
        }
        return true;

    }
};

标签:hash,int,异位,字母,++,num,哈希,return
From: https://www.cnblogs.com/dh2021/p/16831488.html

相关文章

  • 数据结构:7种哈希散列算法,你知道几个?
    作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!......
  • 二分+字符串哈希
    字符串哈希先说一维字符串哈希。基本思想是对每个\(i\),先求出\([1,i]\)上字符串哈希的值(前缀和思想),然后使用类似差分的方法求出\([x,y]\)上字符串哈希的值。具体算......
  • CF 237E(字母选取-费用流)
    题目大意:有一字符串S,你需要从n个字符串中选取一些来拼出这个串,第i个字符串代价为i,限制取P次,问最小代价(无解输出-1)建立超源S=0,超汇T=n+26+1 1-n的结点为字符串n+1-n+26的......
  • POJ 3049(输出字母)
    果断搜ProgramP3049;varn,i,j,m:longint;a:array[1..26]ofchar;b:array['a'..'z']ofboolean;c:char;procedureswap(vara,b:char);vart:char;begin......
  • 大写英文字母(大写英文字母的ascii码值)
    打英文字母时以一个字母会变成大写怎样才能不变大写呢?word20?工具--自动更正选项,如下图,取消“句首字母大写”的选项。火车票上的大写英文字母是什么意?火车票上的大写英文字......
  • BZOJ 3097(Hash Killer I-哈希%u64的不可行)
    3097:HashKillerITimeLimit: 5Sec  MemoryLimit: 128MBSec  SpecialJudgeSubmit: 76  Solved: 34[​​Submit​​][​​Status​​][​​Dis......
  • 统计数字、字母和其他字符的个数
    输入一个字符串,分别统计出其中字母、数字和其他字符的个数number="0123456789"letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"str=input("请输入字符串:")l......
  • 【leetcode_C++_哈希表_day6】454.四数相加II&&383.赎金信&&15.三数之和&&18.四数之和
    454.四数相加II给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]......
  • 根号分治简单笔记 | P3396 哈希冲突
    简要题意你需要维护一个长度为\(n\)的序列\(v\),支持:Axy求整个序列中,所有模\(x\)为\(y\)的下标的元素的值,即:\[\sum_{i=0}^{\lfloor(n-y)\divx\rfloor}v_{ix......
  • 树哈希
    乱搞。#include<bits/stdc++.h>usingnamespacestd;constintMAXN=1000006;const__uint128_tP=0xffffffff00000001;intn;const__uint128_tB=19260817;......