【leetcode 简单】 第八十九题 赎金信

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。

(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)

注意:

你可以假设两个字符串均只含有小写字母。

canConstruct("a", "b") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true
from collections import Counter
class Solution(object):
    def canConstruct(self, ransomNote, magazine):
        """
        :type ransomNote: str
        :type magazine: str
        :rtype: bool
        """
        a,b = map(Counter,(ransomNote,magazine))
        for i in a:
            if i not in b:
                return False
            if i in b and a[i] > b[i]:
                return False
        return True

原文地址:https://www.cnblogs.com/flashBoxer/p/9535938.html

时间: 2024-10-26 14:04:00

【leetcode 简单】 第八十九题 赎金信的相关文章

【leetcode 简单】 第九十六题 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字符串的长度不会超过 1010. 示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7. class Solution(object): def longestPalindrome(self, s): &quo

【leetcode 简单】第十六题 二进制求和

给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1010", b = "1011" 输出: "10101" class Solution: def addBinary(self, a, b): """ :

【leetcode 简单】 第九十四题 左叶子之和

计算给定二叉树的所有左叶子之和. 示例: 3 / 9 20 / 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def sumOfLeft

【leetcode 简单】 第九十五题 数字转换为十六进制数

给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零.如果要转化的数为0,那么以单个字符'0'来表示:对于其他情况,十六进制字符串中的第一个字符将不会是0字符. 给定的数确保在32位有符号整数范围内. 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法. 示例 1: 输入: 26 输出: "1a" 示例 2: 输入: -1 输出: "f

【leetcode 简单】 第九十二题 第N个数字

在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: 输入: 3 输出: 3 示例 2: 输入: 11 输出: 0 说明: 第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0,它是10的一部分. class Solution(object): def findNthDigit(self, n): "

第八十九题

题目 #!/usr/bin/python # -*- coding: UTF-8 -*- while True: num = int(input('plaese input the correct number: ')) i = num // 1000 if i <= 9 and i>=1: break a = [0] * 4 a[0] = i a[1] = (num - i * 1000) // 100 a[2] = (num-a[0]*1000-a[1]*100)//10 a[3] = n

189第一百八十九章 你的命是我的!

第一百八十九章 你的命是我的!   嗖! 露丝骤然弯腰,避开一名男子的腾空膝撞,未等男子落地,另一人已一脚踢中露丝腹. "唔--" 露丝被这股巨大的力量踹得迅速后退.若非她优秀的平衡能力与沉稳的下盘,怕是这一脚便能将她踢飞倒地. "呼--" 露丝手腕一翻,再次紧握***,抹掉嘴角血渍,那双明亮而有神的眸子死死盯着这对配合得天衣缝的男子. 他们很强. 比前面两个铁汉强大太多. 若是单打独斗,露丝有把握将手心的***刺入对方的心脏. 可他们不会给露丝这个机会,他们的配合

经典算法题每日演练——第十九题 双端队列

原文:经典算法题每日演练--第十九题 双端队列 话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个...所以...这两个月也就一直忙着Fall in love,嗨,慢慢调整心态吧, 这篇就选一个简单的数据结构聊一聊,话说有很多数据结构都在玩组合拳,比如说:块状链表,块状数组,当然还有本篇的双端队列,是的,它就是 栈和队列的组合体. 一:概念 我们知道普通队列是限制级的一端进,另一端出的FIFO形式,栈是一端进出的LIFO形式,而双端队列就没有这样的限制级,也就是我们可以在 队列两端进行

第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页

第三百八十九节,Django+Xadmin打造上线标准的在线教育平台-列表筛选结合分页 根据用户的筛选条件来结合分页 实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值,传入逻辑处理就行数据库条件查询,将查询条件值在返回html页面判断是否是选中样式,最后将所有需要关联的筛选请求加上彼此逻辑处理传回来的查询条件值 html请求传参 黄色背景为请求传参 红色背景为逻辑处理传过来的查询条件判断样式 <div class="wp butler_list_box li