2043. 简易银行系统
简单的模拟,在每次先判断账户是否存在再进行后续的操作即可
typedef long long LL;
class Bank {
public:
int n;
vector<LL> a;
Bank(vector<long long>& balance) {
a = balance;
n = a.size();
}
bool check(int x) {
return x >= 1 && x <= n;
}
bool transfer(int account1, int account2, long long money) {
if (check(account1) && check(account2) && a[account1 - 1] >= money) {
a[account1 - 1] -= money;
a[account2 - 1] += money;
return true;
}
return false;
}
bool deposit(int account, long long money) {
if (!check(account)) return false;
a[account - 1] += money;
return true;
}
bool withdraw(int account, long long money) {
if (check(account) && a[account - 1] >= money) {
a[account - 1] -= money;
return true;
}
return false;
}
};
/**
* Your Bank object will be instantiated and called as such:
* Bank* obj = new Bank(balance);
* bool param_1 = obj->transfer(account1,account2,money);
* bool param_2 = obj->deposit(account,money);
* bool param_3 = obj->withdraw(account,money);
*/