leetcode 383. Ransom Note
来源:互联网 发布:linux 脚本 关闭程序 编辑:程序博客网 时间:2024/06/04 23:19
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") -> falsecanConstruct("aa", "ab") -> falsecanConstruct("aa", "aab") -> true这个题嘛,很简单。
package leetcode;public class Ransom_Note_383 {public boolean canConstruct(String ransomNote, String magazine) {int[] magazineChars=new int[26];char[] chars1=ransomNote.toCharArray();char[] chars2=magazine.toCharArray();for(int i=0;i<chars2.length;i++){int index=chars2[i]-'a';magazineChars[index]++;}for(int i=0;i<chars1.length;i++){int index=chars1[i]-'a';magazineChars[index]--;if(magazineChars[index]<0){return false;}}return true;}public static void main(String[] args) {// TODO Auto-generated method stubRansom_Note_383 r=new Ransom_Note_383();System.out.println(r.canConstruct("aa", "aab"));}}我的解法beat了98%的java submissions.
大神有解法跟我一样的,也有用map的。
public boolean canConstruct(String ransomNote, String magazine) { Map<Character, Integer> magM = new HashMap<>(); for (char c:magazine.toCharArray()){ int newCount = magM.getOrDefault(c, 0)+1; magM.put(c, newCount); } for (char c:ransomNote.toCharArray()){ int newCount = magM.getOrDefault(c,0)-1; if (newCount<0) return false; magM.put(c, newCount); } return true;}
阅读全文
0 0
- leetcode-383. Ransom Note
- [leetcode] 383. Ransom Note
- LeetCode 383. Ransom Note
- leetcode 383. Ransom Note
- leetcode 383. Ransom Note
- 383.[LeetCode]Ransom Note
- leetcode 383. Ransom Note
- leetcode 383. Ransom Note
- Leetcode 383. Ransom Note
- 【leetcode】383. Ransom Note
- Leetcode 383. Ransom Note
- LeetCode 383. Ransom Note
- [LeetCode]383. Ransom Note
- LeetCode 383. Ransom Note
- [LeetCode]--383. Ransom Note
- LeetCode 383. Ransom Note
- leetcode 383. Ransom Note
- 【LeetCode】 383. Ransom Note
- 内存溢出:java.lang.OutOfMemoryError: PermGen space
- android错误No Activity found to handle Intent
- python小程序-0002
- redis入门指南中命令总结
- [Android6.0][RK3399] PCIe 接口 4G模块 EC20 调试记录
- leetcode 383. Ransom Note
- 【Java并发】Java内存模型和线程安全
- hql语句:单表查询
- Oracle 大小写区分的处理
- python基础
- Entity Framework Code First实体关联数据加载
- HTML&CSS基础篇之三:HTML基础结构之ML篇
- HTML5之svg(如何绘制图型)
- maven中的groupid和artifactid