您的位置:首页 > 其它

383. Ransom Note

2016-10-08 22:15 169 查看
一开始没有看懂题目什么意思,原来是只要比较ransomNote和magazine中相对应字母的个数。

可以用map 也可以用数组。

public class Solution {

    public boolean canConstruct(String ransomNote, String magazine) {

        if(ransomNote==""||ransomNote.isEmpty())

    return true;

    String[]  Am=magazine.split("");

    String[]  Ar=ransomNote.split("");

    Integer freq=0;

        Map<String,Integer>   Ma=new HashMap<>();

        //Map<String,Integer>   Ra=new HashMap<>();

    for(String e:Am){

    freq=Ma.get(e);

    Ma.put(e, freq==null?1:freq+1);

    }

   

    for(String e:Ar){

    freq=Ma.get(e);

    Ma.put(e, freq==null?-1:freq-1);

    }

    for(String e:Ar){

    if(Ma.get(e)<0)

    return false;

    }

    return true;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: