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;
        }
    };
    幸运之神的降临,往往只是因为你多看了一眼,多想了一下,多走了一步。
  • 相关阅读:
    代理模式之动态代理
    代理模式之静态代理
    基于Java类进行配置Spring
    Spring使用注解开发
    Spring的自动装配
    Bean的作用域
    Spring配置
    最全总结 | 聊聊 Python 办公自动化之 Excel(上)
    最全总结 | 聊聊 Python 数据处理全家桶(MongoDB 篇)
    最全总结 | 聊聊 Python 数据处理全家桶(Redis篇)
  • 原文地址:https://www.cnblogs.com/strongYaYa/p/5886495.html
Copyright © 2011-2022 走看看