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
相关推荐
94621931zyn618 小时前
关于应用 - Cordova 与 OpenHarmony 混合开发实战
笔记·python
aigcapi1 天前
RAG 系统的黑盒测试:从算法对齐视角解析 GEO 优化的技术指标体系
大数据·人工智能·算法
知远同学1 天前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
Blossom.1181 天前
AI编译器实战:从零手写算子融合与自动调度系统
人工智能·python·深度学习·机器学习·flask·transformer·tornado
柯慕灵1 天前
7大推荐系统/算法框架对比
算法·推荐算法
adam-liu1 天前
Fun Audio Chat 论文+项目调研
算法·语音端到端·fun-audio-chat
栀秋6661 天前
你会先找行还是直接拍平?两种二分策略你Pick哪个?
前端·javascript·算法
如果你想拥有什么先让自己配得上拥有1 天前
数学思想和数学思维分别都有什么?
线性代数·算法·机器学习
热爱专研AI的学妹1 天前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
Mr_Chenph1 天前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3