zoukankan      html  css  js  c++  java
  • leetcode之Ransom Note

    题目描述

    
Given
 an 
arbitrary
 ransom
 note
 string 
and 
another 
string 
containing 
letters from
 all 
the 
magazines,
 write 
a 
function 
that 
will 
returntrueif 
the 
ransom 
 note 
can 
be 
constructed 
from 
the 
magazines ; 
otherwise, 
it 
will 
returnfalse. 


    
    Each 
letter
 in
 the
 magazine 
string 
can
 only 
be
 used 
once
 in
 your 
ransom
 note.
    
    Note:
    You may assume that both strings contain only lowercase letters.
    
    canConstruct("a", "b") -> false
    canConstruct("aa", "ab") -> false
    canConstruct("aa", "aab") -> true

    class Solution {
    public:
        bool canConstruct(string ransomNote, string magazine) {
            /*第一种方法
            if(ransomNote.size() > magazine.size()){
                return false;
            }
            for(int i = 0; i<ransomNote.size() ;){
                char ch = ransomNote[i];
                std::size_t found = magazine.find(ch); 
                if(found != std::string::npos){
                    ransomNote.erase(i,1);
                    magazine.erase(found,1);
                    continue;
                }
                i++;
            }
            if(ransomNote.length() == 0)
                return true;
            else
                return false;
        }*//*第二种检测方法*/
            int* arr = new int[26];
            for(int i=0;i<26;i++){
                arr[i] = 0;
            }
            for(int i=0;i<magazine.length();i++)
            {
                char c = magazine[i];
                arr[c-'a']++;
            }
            
            for(int i=0;i<ransomNote.length();i++)
            {
                char c = ransomNote[i];
                arr[c-'a']--;
                if(arr[c-'a']<0) 
                    return false;
            }
            
            return true;
        }
    };
    幸运之神的降临,往往只是因为你多看了一眼,多想了一下,多走了一步。
  • 相关阅读:
    C#串口通信程序SerialPort类
    51单片机和PC串口异步通信
    Robotics ToolBox机械臂仿真
    51单片机和PC串口异步通信(续)
    谈谈FFT有何用
    volatile关键字的使用
    如何走好后面的路
    51单片机液晶显示计时器
    IDE86汇编语言环境使用
    不使用跳转的宏CV_IMIN分析
  • 原文地址:https://www.cnblogs.com/strongYaYa/p/5886495.html
Copyright © 2011-2022 走看看