当前位置:网站首页>力扣每日一题-第50天-383. 赎金信
力扣每日一题-第50天-383. 赎金信
2022-08-08 23:13:00 【重邮研究森】
2022.8.8今天你刷题了吗?
题目:
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。
分析:
给定两个字符串,需要判断2号字符串是否包含了1号字符串,嗯,就是这么简单。
思路:直接在2号字符串中进行查找1号字符串,也就是遍历一次一号字符串,然后遍历时判断2号中有没有,如果没有直接返回false,如果有,则把该字符串替换,这样防止下次重复判断。
解析:
1.查找法
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
for (auto i = 0; i < ransomNote.size(); i++)
{
int pos = magazine.find(ransomNote[i]);
if (pos!=-1)
{
magazine[magazine.find(ransomNote[i])] = ' ';
}
else
{
return false;
}
}
return true;
}
};
2.计数法
官方的写法是:先把2号字符串中的26个字母的次数记下来,然后我们开始遍历一号字符串,如果1号字符串存在某一个元素,那么2号字符串中该元素次数-1,然后判断-1之后次数是否<0,也就是没有了
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
vector<int> vec(26);
for (auto &ch : magazine)
{
vec[ch - 'a']++;
}
for (auto& ch : ransomNote)
{
vec[ch - 'a']--;
if (vec[ch - 'a'] < 0)
{
return false;
}
}
return true;
}
};
边栏推荐
- (2022牛客多校四)H-Wall Builder II(思维)
- stm32 uses spi1 to read data from dma in slave mode
- JSDay1-两数之和
- [PP-YOLOv2] Test a custom dataset
- 微信小程序错误 undefined Expecting ‘STRING‘,‘NUMBER‘,‘NULL‘,‘TRUE‘,‘FALSE‘,‘{‘,‘[‘, got ]解决方案
- (2022牛客多校三)A-Ancestor(LCA)
- Low-Light Image Enhancement via a Deep Hybrid Network阅读札记
- JS中数组扁平化的几种方法
- 每日一R「01」跟着大佬学 Rust
- JSDay2-多个数组的交集
猜你喜欢
sess.restore() 和 tf.import_meta_graph() 在使用时的一些关联
微信小程序 wx:for 循环输出 例子
最详树莓派4B装机流程及ifconfig不到wlan0的解决办法
(Codeforce 757)E. Bash Plays with Functions(积性函数)
wps a3格式怎么转换成a4?wps a3格式转换成a4的方法
(2022杭电多校四)1011-Link is as bear(思维+线性基)
(2022杭电多校六)1012-Loop(单调栈+思维)
2022杭电多校六 1006-Maex (树形DP)
2022牛客多校六 M-Z-Game on grid(动态规划)
第二课:概率论
随机推荐
C language library function summary2019.10.31
Kubernetes与OpenStack
(2022牛客多校四)H-Wall Builder II(思维)
微信小程序 wx:for 循环输出 例子
[PP-YOLOv2] Test a custom dataset
Introduction to Qt (5) - file operation, hotkey and mouse reading (implementation of txt window)
Modal dialog is used to implement the sign-in
WeChat applet develops some function usage methods
2021 RoboCom 世界机器人开发者大赛-本科组(决赛)7-1绿色围栏(模拟)
flutter 基本类写法
JS中的原型与原型链
Small program figure display banner
Hi3516 use wifi module
微信小程序开发一些函数使用方法
线性筛求积性函数
(newcoder 15079)无关(容斥原理)
stm32 uses spi1 to read data from dma in slave mode
stm32 uses serial port to receive idle interrupt + dma to achieve variable length dma reception
-Wl,--start-group ... -Wl,--end-group 用于解决几个库的循环依赖关系
(2022牛客多校五)C-Bit Transmission(思维)