update 0383.赎金信: 完善注释

This commit is contained in:
Yuhao Ju
2022-11-24 21:51:48 +08:00
committed by GitHub
parent b0f84a4b35
commit 983bb606d3

View File

@ -147,11 +147,11 @@ class Solution:
arr = [0] * 26 arr = [0] * 26
for x in magazine: for x in magazine: # 记录 magazine里各个字符出现次数
arr[ord(x) - ord('a')] += 1 arr[ord(x) - ord('a')] += 1
for x in ransomNote: for x in ransomNote: # 在arr里对应的字符个数做--操作
if arr[ord(x) - ord('a')] == 0: if arr[ord(x) - ord('a')] == 0: # 如果没有出现过直接返回
return False return False
else: else:
arr[ord(x) - ord('a')] -= 1 arr[ord(x) - ord('a')] -= 1
@ -234,12 +234,12 @@ Go
```go ```go
func canConstruct(ransomNote string, magazine string) bool { func canConstruct(ransomNote string, magazine string) bool {
record := make([]int, 26) record := make([]int, 26)
for _, v := range magazine { for _, v := range magazine { // 通过recode数据记录 magazine里各个字符出现次数
record[v-'a']++ record[v-'a']++
} }
for _, v := range ransomNote { for _, v := range ransomNote { // 遍历ransomNote在record里对应的字符个数做--操作
record[v-'a']-- record[v-'a']--
if record[v-'a'] < 0 { if record[v-'a'] < 0 { // 如果小于零说明ransomNote里出现的字符magazine没有
return false return false
} }
} }
@ -258,12 +258,12 @@ javaScript:
var canConstruct = function(ransomNote, magazine) { var canConstruct = function(ransomNote, magazine) {
const strArr = new Array(26).fill(0), const strArr = new Array(26).fill(0),
base = "a".charCodeAt(); base = "a".charCodeAt();
for(const s of magazine) { for(const s of magazine) { // 记录 magazine里各个字符出现次数
strArr[s.charCodeAt() - base]++; strArr[s.charCodeAt() - base]++;
} }
for(const s of ransomNote) { for(const s of ransomNote) { // 对应的字符个数做--操作
const index = s.charCodeAt() - base; const index = s.charCodeAt() - base;
if(!strArr[index]) return false; if(!strArr[index]) return false; // 如果没记录过直接返回false
strArr[index]--; strArr[index]--;
} }
return true; return true;