leetcode383赎金信

2024-02-24 05:04
文章标签 赎金 leetcode383

本文主要是介绍leetcode383赎金信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用字符数组ch来记录magazine每个字母出现频率,用ransomNote的字母减去字符数组ch对应的字符出现频率,如果该字符对应的频率小于0,则不够,无法组成ransomNote!

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {//unordered_map<char,int> umap;int ch[27];if(ransomNote.size()>magazine.size()){return false;}for(const auto& c:magazine){++ch[c-'a'];}for(const auto& c:ransomNote){--ch[c-'a'];if(ch[c-'a']<0){return false;}}return true;}
};

这篇关于leetcode383赎金信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741013

相关文章

Golang | Leetcode Golang题解之第383题赎金信

题目: 题解: func canConstruct(ransomNote, magazine string) bool {if len(ransomNote) > len(magazine) {return false}cnt := [26]int{}for _, ch := range magazine {cnt[ch-'a']++}for _, ch := range ransomNo

C语言 | Leetcode C语言题解之第383题赎金信

题目: 题解: bool canConstruct(char * ransomNote, char * magazine){int r = strlen(ransomNote);//首先是我们的目标数组和我们的提供方数组长度int m = strlen(magazine);if (r > m)return false;//如果提供的数量都不够补充目标,那肯定是不行的。故:falseint

C++ | Leetcode C++题解之第383题赎金信

题目: 题解: class Solution {public:bool canConstruct(string ransomNote, string magazine) {if (ransomNote.size() > magazine.size()) {return false;}vector<int> cnt(26);for (auto & c : magazine) {cnt[c -

383. 赎金信【 力扣(LeetCode) 】

一、题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 二、测试用例 示例 1: 输入:ransomNote = "a", magazine = "b"输出:fal

代码随想录算法训练营第六天|454.四数相加II;383. 赎金信;15. 三数之和;18. 四数之和

今日任务 ●  454.四数相加II ●  383. 赎金信 ●  15. 三数之和 ●  18. 四数之和 详细布置 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。 题目链接:. - 力扣(LeetCode) 题目链接/文

day07--454.四数相加II+383. 赎金信+ 15. 三数之和+ 18. 四数之和

一、454.四数相加II 题目链接:https://leetcode.cn/problems/4sum-ii/ 文章讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE 视频讲解:https://www

代码随想录算法训练营第七天| 454.四数相加II |383. 赎金信 |15. 三数之和 |18. 四数之和

454.四数相加II 文档讲解:代码随想录 视频讲解:学透哈希表,map使用有技巧!LeetCode:454.四数相加II_哔哩哔哩_bilibili 1. 暴力算法。 2. 先两个循环将和放到map中,再两个循环求和查询map,计算总数求和,将一个4层循环复杂度降低了。要查找一个元素是否出现用map, map也是一个hash结构。 3.没啥问题。 4. 用了半个小时左右。 38

代码随想录训练营第六天 454四数相加II 383赎金信 15三数之和 18四数之和

第一题: 原题链接:454. 四数相加 II - 力扣(LeetCode) 思路: 将四个数组分成两两 两个组合,先对前面两个数组进行操作 定义unordered_map<int, int> map,将第一个和第二个数组中的元素相加并填入map中,记录相加之后元素的值对应出现的个数。 然后再对第三和第四个数组进行操作 定义一个值target为第三和第四数组中元素相加后取反,在map中查

力扣 383题 赎金信 记录

题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1:输入:ransomNote = "a", magazine = "b"输出:false示例 2:输入:rans

代码随想录算法训练营Day7|454.四数相加II、 383. 赎金信、15. 三数之和、 18. 四数之和

454.四数相加II 四个数组分成两组进行for循环,先用HashMap存储所有第一组for循环出现的和的次数。再进行第二组for循环,每一次得出的和判断其负数是否在map的key中,如果存在,就加上这个value。 class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums