Carregando

Problema do LeetCode#383

Ransom Note

Resolvido em 1 linguagemJava

Resolver no LeetCode(abre em uma nova aba)

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.

Todos os problemas

Os enunciados dos problemas pertencem ao LeetCode e estão em leetcode.com. Não temos vínculo com o LeetCode.