Problema do LeetCode#383
Ransom Note
Resolvido em 1 linguagemJava
Solução
31 linhas
1class Solution {
2 public boolean canConstruct(String ransomNote, String magazine) {
3 HashMap<Character, Integer> hashMap = new HashMap<Character, Integer>();
4
5 for (int i = 0; i < magazine.length(); i++) {
6 char c = magazine.charAt(i);
7 if (hashMap.containsKey(c)) {
8 hashMap.put(c, hashMap.get(c) + 1);
9 }
10 else {
11 hashMap.put(c, 1);
12 }
13 }
14
15 for (int i = 0; i < ransomNote.length(); i++) {
16 char c = ransomNote.charAt(i);
17 if (!hashMap.containsKey(c)) {
18 return false;
19 }
20 else {
21 int newCount = hashMap.get(c) - 1;
22 if (newCount < 0) {
23 return false;
24 }
25 hashMap.put(c, newCount);
26 }
27 }
28
29 return true;
30 }
31}Quer uma explicação desta solução em Java?
Receba uma explicação passo a passo da ideia por trás do código.
Os enunciados dos problemas pertencem ao LeetCode e estão em leetcode.com. Não temos vínculo com o LeetCode.