zoukankan      html  css  js  c++  java
  • 383. Ransom Note

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

    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 boolean canConstruct(String ransomNote, String magazine) {
            if(ransomNote.length() == 0) return true;
            else if(magazine.length() == 0) return false;
            int[] arr = new int[26];
            
            for(int i = 0; i < magazine.length(); i++) arr[magazine.charAt(i) - 'a']++;
            int cou = 0;
            for(int i = 0; i < ransomNote.length(); i++){
                char c = ransomNote.charAt(i);
                if(arr[c - 'a'] > 0){
                    --arr[c-'a'];
                    cou++;
                }
                else return false;
            }
            if(cou == ransomNote.length()) return true;
            return false;
        }
    }

    问能否从magazine里组成ransomNote,把magazine先存到数组里,然后再遍历ransomNote,看是不是能组成就可以。

    而且空字符也行,我佛辣

  • 相关阅读:
    丁丁杂想
    Tomcat5.5Ubuntu手记之编程
    插入递归引用Identity列的记录
    evolution错误Ubuntu手记之系统配置
    硬盘安装Ubuntu手记
    WAS安装及概念
    丁丁病了『续』
    web.config中配置字符串中特殊字符的处理
    新宝宝睡眠护理全方位【转】
    丁丁病了
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12834888.html
Copyright © 2011-2022 走看看