leetcode 383. 赎金信 python

给你两个字符串: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 由小写英文字母组成

    python 复制代码
    class Solution:
        def canConstruct(self, ransomNote: str, magazine: str) -> bool:
            new_ransomNote = ''.join(sorted(ransomNote))
            new_magazine = ''.join(sorted(magazine))
            length1 = len(new_ransomNote)//先排序
            length2 = len(new_magazine)
            i,k = 0,0
            if(length2<length1)://magazine长度小于ransomNote返回失败
                return False
            else:
                while(i<length1 and k<length2)://二者数组下标均不可越界
                    if(new_magazine[k]>new_ransomNote[i]):
                        return False
                    elif(new_magazine[k]==new_ransomNote[i]):
                        i+=1
                        k+=1
                    elif(new_magazine[k]<new_ransomNote[i]):
                        k+=1
                if(i==length1):
                    return True
                return False
相关推荐
WA内核拾荒者36 分钟前
WhatsApp 账号异常检测的自动化告警系统设计
数据库·python·自动化
imuliuliang1 小时前
关于数据结构在算法设计中的核心作用解析7
算法
码流怪侠1 小时前
【GitHub】Bend:让 GPU 并行编程像写 Python 一样简单
python·github
2401_894915532 小时前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
普通网友4 小时前
共识算法实现:从工作量证明到权益证明的演进
算法·区块链·共识算法
zhiSiBuYu05174 小时前
Python3 模块开发与应用实战指南
python
ldmd2845 小时前
地图生成算法(噪声篇-Perlin,Simplex,Value noise)
算法·go·地图生成
databook5 小时前
用方差阈值过滤掉“惰性特征”
python·机器学习·scikit-learn