【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 分钟前
CG 方法(共轭梯度)的数学推导及其算法
算法·cg·共轭梯度·lanczos·arnoldi·正交化·gram-schmidt
twilight_4694 分钟前
机器学习与模式识别——SVM
算法·机器学习·支持向量机
小糯米60112 分钟前
C++ 树
数据结构·c++·算法
liliangcsdn26 分钟前
IMPALA强化学习算法的学习和解读
学习·算法
再难也得平30 分钟前
[LeetCode刷题]283.移动零(通俗易懂的java题解)
java·算法·leetcode
不想看见40431 分钟前
House Robber 基本动态规划:一维--力扣101算法题解笔记
笔记·算法·leetcode·代理模式
掘根32 分钟前
【C++STL】红黑树(RBTree)
数据结构·c++·算法
我笑了OvO33 分钟前
常见位运算及其经典算法题(1)
c++·算法·算法竞赛
Zevalin爱灰灰34 分钟前
方法论——如何设计控制策略架构
算法·架构·嵌入式
wostcdk35 分钟前
基础算法学习1
算法