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;
        }
    };
    幸运之神的降临,往往只是因为你多看了一眼,多想了一下,多走了一步。
  • 相关阅读:
    清理yum源
    XZ压缩
    Linux命令之dot
    calltree查看工程代码中的函数调用关系
    valgrind 打印程序调用树+进行多线程性能分析
    LINUX 性能 测试 优化工具
    TCP/IP(84) 详解
    perf---LINUX内核研究
    廖雪锋笔记3:类型转换
    廖雪锋笔记2:list,tuble
  • 原文地址:https://www.cnblogs.com/strongYaYa/p/5886495.html
Copyright © 2011-2022 走看看