【LeetCode】383. 赎金信

题目:383. 赎金信

由于此题只含有小写字母,并且magazine里面的字母不可重复使用.

故首先用一个长度为26的整形数组记录magazine里字母出现的次数。

再用这个整形数组跟ransomeNote进行遍历比较,当数组中出现-1时,说明false,否则true.

代码:

java 复制代码
class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        int[] tmp = new int[26];
        
        //遍历magazine中的字符
        for(int i=0;i<magazine.length();i++){
            char ch = magazine.charAt(i);
            tmp[ch-'a']++;
        }

        //遍历ransomNote中的字符
        for(int i=0;i<ransomNote.length();i++){
            char ch = ransomNote.charAt(i);
            tmp[ch-'a']--;
            if(tmp[ch-'a']<0){
                return false;
            }
        }

        return true;
    }
}

运行结果:

相关推荐
lxh0113几秒前
蜗牛排序题解
javascript·算法
airuike12314 分钟前
高性能MEMS IMU:重构无人机飞行控制核心
人工智能·算法·重构·无人机
小辉同志18 分钟前
79. 单词搜索
开发语言·c++·leetcode·回溯
娇娇爱吃蕉蕉.19 分钟前
类和对象的默认成员函数
c语言·开发语言·c++·算法
人道领域22 分钟前
【LeetCode刷题日记】哈希表:从0基础到实战全解析
算法·leetcode·哈希算法
py有趣22 分钟前
力扣热门100题之矩阵置零
算法·leetcode·矩阵
蚂蚁在飞-25 分钟前
Go 1.26
算法
汀、人工智能9 小时前
[特殊字符] 第21课:最长有效括号
数据结构·算法·数据库架构·图论·bfs·最长有效括号
Boop_wu9 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
故事和你919 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论