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

有效的字母异位词,哈希表方法

时间:2023-07-09 10:45:45浏览次数:36  
标签:hash String int 异位 字母 yiwei ++ 哈希

/**
     * 有效的字母异位词
     * 力扣题目链接(opens new window)
     *
     * 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
     *
     * 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true
     *
     * 示例 2: 输入: s = "rat", t = "car" 输出: false
     *
     * 说明: 你可以假设字符串只包含小写字母。
     *
     * #思路
     */

    public boolean yiwei(String s,String t){
        int[] hash = new int[26];
        for (int i = 0; i < s.length(); i++) {
            hash[s.charAt(i) - 'a']++;
        }
        for (int i = 0; i < t.length(); i++) {
            hash[t.charAt(i)-'a']--;
        }
        for (int i = 0; i < hash.length; i++) {
            if(hash[i] != 0){
                return false;
            }
        }
        return true;
    }

    @Test
    public void test1() {
        //String s = "anagram";
        String s = "rat";
        //String t = "nagaram";
        String t = "car";
        boolean yiwei = yiwei(s, t);
        System.out.println(yiwei);
    }

如果是题目有关元素是否在集合中出现过,我们可以考虑用hash来做,hash常见的如数组,set

标签:hash,String,int,异位,字母,yiwei,++,哈希
From: https://www.cnblogs.com/sgj191024/p/17538402.html

相关文章

  • 哈希传递
    哈希传递简介PassTheHash即PTH,就是通过传递Windwos本地账户或者域用户的hash值,达到控制其他服务器的目的在进入企业内网之后,如果是WindowsPC或者服务器较多的环境,极有可能会使用到hash传递来进行内网的横传,现在企业内部一般对于口令强度均有一定的要求,抓取到本地hash后可......
  • 如何实现Java以16进制小写字母输出的具体操作步骤
    如何在Java中以16进制小写字母输出简介在Java中,我们可以使用一些简单的代码实现将整数或字符串以16进制小写字母的形式输出。本文将向你展示实现这一功能的步骤和相应的代码。实现步骤下面是整个过程的步骤概览:步骤描述1.将整数转换为16进制字符串2.将字符串转......
  • 阿里面试官:谈谈对Redis哈希表的理解
    不少朋友问我,能不能搞个八股文精讲,把面试问题讲讲透,于是系列就这样诞生了。咱们第一期先聊聊Redis。相信哈希表大家并不陌生,今天顺便聊聊Redis的哈希表。Hash表回顾哈希表是一种存储数据的结构,它有很多名字(键值对、字典、符号表、映射、关联数组)。在哈希表中,键和值是一一对应的......
  • 【字符串,哈希】【Yandex】Yandex7736
    2023.6.30ProblemLink定义一个串\(S\)是好的,当且仅当\(S\)可以不断消去相邻两个相同字符直至消空。给定一个长为\(n\)的字符串\(s\),求有多少个有序对\((i,j)\)满足\(s_i\neqs_j\)且交换\(s_i,s_j\)后\(s\)是好的。技巧:镜面对称矩阵哈希,\(A^2=I\)考虑哈希,给......
  • 希腊字母手写体
    参考:http://www.foundalis.com/lan/hw/grkhandw.htm这哥们的博客主页很有意思参考维基百科......
  • 算法学习day06哈希表part01-242、349、202、1
    packageSecondBrush.Hash;/***242.有效字母异位词*现在看到这个题目能想到怎么做,但是具体不知道怎么写*大致思路自己先描述一下:*就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数*hash表就可以理解为数组*/publicclassValidAnagram_242{publi......
  • 算法学习day07哈希表part02-454、383、15、18
    packageSecondBrush.Hash;importjava.util.HashMap;importjava.util.Map;/***454.四数相加II*给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:*0<=i,j,k,l<n*nums1[i]+nums2[j]+nums3[k......
  • js 密码 大写字母,小写字母,数字,特殊字符,包含2种以上
    constvalidatepassword=(rule,value,callback)=>{if(value==""||value==null){returncallback(newError('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况'));}if(value.length<8){......
  • 力扣 290 字母的是否符合规律规律
    #规律aabb;单词catcatdogdog;符合规律返回true。defwordPattern(规律:str,给定字符串:str):res=给定字符串.split()returnlist(map(规律.index,规律))==list(map(res.index,res))#验证result=wordPattern("aabb","catcatdogdoggg")print......
  • 字符串哈希
    目录字符串哈希例题字符串哈希我们定义一个把字符串映射到整数的函数f,这个f称为是Hash函数我们希望这个函数f可以方便地帮我们判断两个字符串是否相等注意哈希冲突!将Hash函数值一样但原字符串不一样的现象称为哈希冲突。例题P3370【模板】字符串哈希//>>>Qian......