LeetCode--383.赎金信(哈希表)

题目描述

给你两个字符串: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

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote 和 magazine 由小写英文字母组成

代码

java 复制代码
class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        
        // 边界条件判断
        if(ransomNote.length()>magazine.length()) return false;

        int[] result = new int [26];
        // 将字符串转化为字符数组
        char[] ransomArray = ransomNote.toCharArray();
        char[] magazineArray = magazine.toCharArray();


        for(char i : ransomArray){
            // 通过result表记录每个字符出现的次数
            result[i-'a']++;
        }

        for(char i : magazineArray){
            result[i-'a']--;
        }

        // 统计所有字符出现个数之差,若有ransom比magazine多则返回false
        for(int i : result){
            if(i>0) return false;
        }
        return true;

    }
}
相关推荐
飞Link1 小时前
什么是 PX4?一文了解 PX4 在空地协同中的作用
算法·无人机
一去不复返的通信er7 小时前
力扣-图论-岛屿数量
算法·leetcode·图论
wangchunyu1149 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck10 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir10 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人10 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
HDU-Dade11 小时前
【校招笔试真题】简要介绍 Self-Attention 的前沿算法
人工智能·算法
2501_9445215911 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
Xin77012 小时前
LeetCode 79. 单词搜索(DFS 回溯法)
leetcode
南归北隐12 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp