383. 赎金信

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

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

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

示例 1:

复制代码
输入:ransomNote = "a", magazine = "b"
输出:false

示例 2:

复制代码
输入:ransomNote = "aa", magazine = "ab"
输出:false

示例 3:

复制代码
输入:ransomNote = "aa", magazine = "aab"
输出:true

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNotemagazine 由小写英文字母组成
java 复制代码
    public boolean canConstruct(String ransomNote, String magazine) {
        // 如果ransomNote.length()大于magazine的,那么magazine绝对构不成ransomNote
        if (ransomNote.length() > magazine.length()) {
            return false;
        }
        // 定义数组来统计magazine中每一个字符的次数
        int[] arr = new int[26];
        for (char c : magazine.toCharArray()) {
            arr[c - 'a']++;
        }
        // 遍历ransomNote的每一个字符并对数组中的值相减
        for (int c : ransomNote.toCharArray()) {
            arr[c - 'a']--;
            //如果次数小于0,则表示不满足
            if (arr[c-'a'] < 0){
                return false;
            }
        }
        return true;
    }
相关推荐
cylat9 分钟前
Day23 pipeline管道
人工智能·python·算法·机器学习
神仙别闹29 分钟前
基于Java+VUE+MariaDB实现(Web)仿小米商城
java·前端·vue.js
风象南30 分钟前
SpringBoot的4种抽奖活动实现策略
java·spring boot·后端
蓝桉~MLGT38 分钟前
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java·开发语言·python
lucky_jiexia1 小时前
leetcode刷题经验
算法·leetcode·哈希算法
蓝澈11211 小时前
数据结构之常用排序算法(冒泡、选择等)
数据结构·算法·排序算法
甜甜的资料库1 小时前
基于微信小程序的作业管理系统源码数据库文档
java·数据库·微信小程序·小程序
有梦想的骇客7 小时前
书籍将正方形矩阵顺时针转动90°(8)0605
线性代数·算法·矩阵
有梦想的骇客7 小时前
书籍“之“字形打印矩阵(8)0609
java·算法·矩阵
Chenyu_3107 小时前
12.找到字符串中所有字母异位词
c语言·数据结构·算法·哈希算法