Lemonade Change LeetCode solution in C++

1
class Solution {
2
public:
3
bool lemonadeChange(vector<int> &bills) {
4
unordered_map<int, int> m;
5

6
int change = 0;
7
for (int i = 0; i < bills.size(); i++) {
8
m[bills[i]]++;
9

10
if (bills[i] > 5) {
11
change = bills[i] - 5;
12

13
if (change == 5) {
14
if (m[5] > 0) {
15
m[5]--;
16
} else {
17
return false;
18
}
19
}
20
// change = 10
21
else {
22
if (m[10] > 0 and m[5] > 0) {
23
m[10]--;
24
m[5]--;
25
} else if (m[5] >= 3) {
26
m[5] -= 3;
27
} else {
28
return false;
29
}
30
}
31
}
32
}
33

34
return true;
35
}
36
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0