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
相关推荐
Q_Q51100828510 分钟前
python+django/flask+vue的大健康养老公寓管理系统
spring boot·python·django·flask·node.js
我是哈哈hh25 分钟前
【Python数据分析】Numpy总结
开发语言·python·数据挖掘·数据分析·numpy·python数据分析
Michelle802326 分钟前
24大数据 14-2 函数练习
开发语言·python
qq_3814549929 分钟前
Python学习技巧
开发语言·python·学习
im_AMBER32 分钟前
算法笔记 18 二分查找
数据结构·笔记·学习·算法
Ndmzi35 分钟前
Matlab编程技巧:自定义Simulink菜单(理解补充)
前端·javascript·python
C雨后彩虹43 分钟前
机器人活动区域
java·数据结构·算法·华为·面试
MarkHD1 小时前
车辆TBOX科普 第53次 三位一体智能车辆监控:电子围栏算法、驾驶行为分析与故障诊断逻辑深度解析
算法
dagouaofei1 小时前
AI生成个性化年终总结PPT
人工智能·python·powerpoint
苏小瀚1 小时前
[算法]---路径问题
数据结构·算法·leetcode