Skip to content

Commit 5ed7d60

Browse files
committed
レビューに基づいてコードを修正
step1は不要な初期化やnullチェックを削除 step3は初期化を適切に行うように修正
1 parent 657aedb commit 5ed7d60

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

383/step1.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ magazineにある文字を高速にチェックできないといけないので
88
magazineに存在しない文字や、消費し尽くした文字を指定されたらransomは成立しなくなるのでその時点でfalseを返せる。
99
falseを返さずに最後までチェックし終えたら
1010
*/
11+
/*
12+
mapで`[]`を使用することで不要な初期化処理やnullチェックを削除
13+
*/
1114
class Solution {
1215
public:
1316
bool canConstruct(string ransomNote, string magazine) {
1417
map<char, int> character_count;
1518
for (char c: magazine) {
16-
if (!character_count[c]) {
17-
character_count[c] = 0;
18-
}
1919
character_count[c]++;
2020
}
2121

2222
for (char c: ransomNote) {
23-
if (!character_count[c] || character_count[c] <= 0) {
23+
if (character_count[c] <= 0) {
2424
return false;
2525
}
2626
character_count[c]--;

383/step3.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
/*
22
97という定数が気持ち悪かったので、'a'に変更、それ以外はstep2と変わらず。
33
*/
4+
/*
5+
初期化をきちんとするように修正
6+
*/
47
class Solution {
58
public:
69
bool canConstruct(string ransomNote, string magazine) {
710
int char_count[26];
11+
for(int i = 0; i < 26; i++) {
12+
char_count = 0;
13+
}
814

915
for (char c: magazine) {
1016
char_count[c - 'a']++;

0 commit comments

Comments
 (0)