Update 0383.赎金信.md

This commit is contained in:
Beim
2022-05-01 11:51:11 +08:00
committed by GitHub
parent d98481a5b5
commit 1e81ef2710

View File

@ -110,23 +110,25 @@ Java
```Java ```Java
class Solution { class Solution {
public boolean canConstruct(String ransomNote, String magazine) { public boolean canConstruct(String ransomNote, String magazine) {
//记录杂志字符串出现的次数 // 定义一个哈希映射数组
int[] arr = new int[26]; int[] record = new int[26];
int temp;
for (int i = 0; i < magazine.length(); i++) { // 遍历
temp = magazine.charAt(i) - 'a'; for(char c : magazine.toCharArray()){
arr[temp]++; record[c - 'a'] += 1;
} }
for (int i = 0; i < ransomNote.length(); i++) {
temp = ransomNote.charAt(i) - 'a'; for(char c : ransomNote.toCharArray()){
//对于金信中的每一个字符都在数组中查找 record[c - 'a'] -= 1;
//找到相应位减一否则找不到返回false }
if (arr[temp] > 0) {
arr[temp]--; // 如果数组中存在负数说明ransomNote字符串总存在magazine中没有的字符
} else { for(int i : record){
if(i < 0){
return false; return false;
} }
} }
return true; return true;
} }
} }