leetcode383. 赎金信

这篇具有很好参考价值的文章主要介绍了leetcode383. 赎金信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:leetcode383. 赎金信

描述:
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1:

输入:ransomNote = “a”, magazine = “b”
输出:false

示例 2:

输入:ransomNote = “aa”, magazine = “ab”
输出:false

示例 3:

输入:ransomNote = “aa”, magazine = “aab”
输出:true

思路:
因为只能是小写字母,所以使用一个长度为26的数组来模拟哈希,数组的下标对应字母,数组的值对应这个字母出现的次数。识别magazine里面有的字母保存到哈希数组,然后识别ransomNote里面的字母,将哈希数组里面的字母个数减一。最后查看是否存在负数,如果有负数,说明不能构成。文章来源地址https://www.toymoban.com/news/detail-645687.html



public class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        if(ransomNote.length()>magazine.length())
            return false;
        int[] hash=new int[26];
        for (char c:magazine.toCharArray())
            hash[c-'a']+=1;
        for (char c:ransomNote.toCharArray())
            hash[c-'a']-=1;
        for(int i:hash)
            if(i<0)
                return false;
        return true;
    }
}

到了这里,关于leetcode383. 赎金信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 383. 赎金信

    题目链接:383. 赎金信 代码如下:

    2024年01月21日
    浏览(36)
  • 【代码随想录 | Leetcode | 第九天】哈希表 | 快乐数 | 四数相加 II | 赎金信

    欢迎来到小K的Leetcode|代码随想录|专题化专栏,今天将为大家带来哈希法~快乐数 | 四数相加 II | 赎金信的分享 ✨ ✨题目链接点这里 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后

    2024年02月13日
    浏览(51)
  • 【代码随想录06】454. 四数相加 II 383. 赎金信 15. 三数之和 18. 四数之和

    题目描述 给你四个整数数组 nums1 、 nums2 、 nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 = i, j, k, l n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 做题思路 本题可以使用哈希表, key 为 nums1[i] + nums2[j] 的和, value 为其出现的次数。然后再遍历 nums3 和

    2024年01月16日
    浏览(44)
  • LeetCode刷题 --- 哈希表

    1. 两数之和 解题思路: 利用哈希表,key存数组当前值,value存数组下标 两数之和等于target,可以看做是两个数是配对 遍历数组,看哈希表中有没有值和这个当前值配对,如果没有,就存入哈希表 如果有,当前数,和配对的数,就是所求值。 3. 无重复字符的最长子串 解题

    2024年02月07日
    浏览(46)
  • 我在代码随想录|写代码Day7之454.四数相加II ,​ 383. 赎金信​,​ 15. 三数之和​

    题目  解题思路 四个数字相加的和为0,我们要选俩数组,让他们的笛卡尔积储存在哈希表中,然后我们要找的是这俩数和的相反数,然后就是将后面俩数组相加在后面的数组和中找相反数.   解题思路 题目意思是让在字符串1中找到字母组成字符串2所以找字符串1的数量.所以可以用

    2024年01月20日
    浏览(39)
  • leetcode分类刷题:哈希表(Hash Table)(一、数组交集问题)

    1、当需要快 速判断某元素是否出现在序列中 时,就要用到哈希表了。 2、本文针对的总结题型为给定 两个及多个数组 ,求解它们的 交集 。接下来,按照由浅入深层层递进的顺序总结以下几道题目。 3、以下题目需要共同注意的是:对于两个数组,我们总是尽量把短数组转

    2024年02月11日
    浏览(40)
  • 代码随想录刷题第6天|哈希表 LeetCode242、LeetCode349、LeetCode202、LeetCode1

    1、LeetCode242 有效的字母异位词 题目链接:242、有效的字母异位词 用哈希表,record[s[i]-\\\'a\\\']++,record[t[i]-\\\'a\\\']--,最后判断record里是否有元素不为0。 2、LeetCode349、两个数组的交集 题目链接:349、两个数组的交集 题目如果没有限制数值的大小,就无法使用数组来做哈希表。如果哈

    2024年02月06日
    浏览(59)
  • leetcode分类刷题:哈希表(Hash Table)(四、前缀和 处理连续子数组)

    1、leetcode题目里对于 元素加和 的考察可谓是屡见不鲜,包括 简单的限定一个有效答案 的两个或多个元素求和leetcode分类刷题:哈希表(Hash Table)(一、简单的两数之和)、在有序数组内对加和等于target的 三元组、四元组 等的求解leetcode分类刷题:基于数组的双指针(三、

    2024年02月10日
    浏览(37)
  • 算法刷题-哈希表-快乐数

    该用set的时候,还是得用set 力扣题目链接 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那

    2024年02月09日
    浏览(35)
  • 【算法刷题之哈希表(2)】

    (1)题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 = i, j, k, l n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 (2)思路与方法 对于这道题可能首先想到的就是对于四个数组进行循环遍历,但是这种方法的时间复杂

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包