【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;
    }
}

运行结果:

相关推荐
癫狂的兔子3 分钟前
【Python】【机器学习】K-MEANS算法
算法·机器学习·kmeans
Bear on Toilet37 分钟前
递归_二叉树_50 . 从前序与中序遍历序列构造二叉树
数据结构·算法·leetcode·深度优先·递归
plus4s39 分钟前
2月18日(82-84题)
c++·算法·动态规划
艾醒2 小时前
打破信息差——2026年2月19日AI热点新闻速览
算法
追随者永远是胜利者3 小时前
(LeetCode-Hot100)62. 不同路径
java·算法·leetcode·职场和发展·go
追随者永远是胜利者3 小时前
(LeetCode-Hot100)56. 合并区间
java·算法·leetcode·职场和发展·go
wu_asia3 小时前
每日一练伍
算法
追随者永远是胜利者3 小时前
(LeetCode-Hot100)55. 跳跃游戏
java·算法·leetcode·游戏·go
近津薪荼3 小时前
优选算法——前缀和(7):连续数组
算法
ArturiaZ4 小时前
【day29】
数据结构·c++·算法