asp网站建设类论文,上海红蚂蚁装潢设计有限公司官网,有关网站建设的毕业设计,百度做网站的服务合同文章目录1. 题目2. 解题1. 题目
你的任务是为一个很受欢迎的银行设计一款程序#xff0c;以自动化执行所有传入的交易#xff08;转账#xff0c;存款和取款#xff09;。 银行共有 n 个账户#xff0c;编号从 1 到 n 。每个账号的初始余额存储在一个下标从 0 开始的整数…
文章目录1. 题目2. 解题1. 题目
你的任务是为一个很受欢迎的银行设计一款程序以自动化执行所有传入的交易转账存款和取款。 银行共有 n 个账户编号从 1 到 n 。每个账号的初始余额存储在一个下标从 0 开始的整数数组 balance 中其中第 (i 1) 个账户的初始余额是 balance[i] 。
请你执行所有 有效的 交易。如果满足下面全部条件则交易 有效
指定的账户数量在 1 和 n 之间且取款或者转账需要的钱的总数 小于或者等于 账户余额。
实现 Bank 类
Bank(long[] balance) 使用下标从 0 开始的整数数组 balance 初始化该对象。boolean transfer(int account1, int account2, long money) 从编号为 account1 的账户向编号为 account2 的账户转帐 money 美元。如果交易成功返回 true 否则返回 false 。boolean deposit(int account, long money) 向编号为 account 的账户存款 money 美元。如果交易成功返回 true 否则返回 false 。boolean withdraw(int account, long money) 从编号为 account 的账户取款 money 美元。如果交易成功返回 true 否则返回 false 。
示例
输入
[Bank, withdraw, transfer, deposit, transfer, withdraw]
[[[10, 100, 20, 50, 30]], [3, 10], [5, 1, 20], [5, 20], [3, 4, 15], [10, 50]]
输出
[null, true, true, true, false, false]解释
Bank bank new Bank([10, 100, 20, 50, 30]);
bank.withdraw(3, 10); // 返回 true 账户 3 的余额是 $20 所以可以取款 $10 。// 账户 3 余额为 $20 - $10 $10 。
bank.transfer(5, 1, 20); // 返回 true 账户 5 的余额是 $30 所以可以转账 $20 。// 账户 5 的余额为 $30 - $20 $10 账户 1 的余额为 $10 $20 $30 。
bank.deposit(5, 20); // 返回 true 可以向账户 5 存款 $20 。// 账户 5 的余额为 $10 $20 $30 。
bank.transfer(3, 4, 15); // 返回 false 账户 3 的当前余额是 $10 。// 所以无法转账 $15 。
bank.withdraw(10, 50); // 返回 false 交易无效因为账户 10 并不存在。提示
n balance.length
1 n, account, account1, account2 10^5
0 balance[i], money 10^12
transfer, deposit, withdraw 三个函数每个 最多调用 10^4 次来源力扣LeetCode 链接https://leetcode-cn.com/problems/simple-bank-system 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
开数组存储即可
class Bank {vectorlong long Ac;int N;
public:Bank(vectorlong long balance) {N balance.size();Ac.resize(N);for(int i 0; i N; i)Ac[i] balance[i];}bool transfer(int account1, int account2, long long money) {if (!legalnum(account1) || !legalnum(account2) || money Ac[account1-1])return false;Ac[account1-1] - money;Ac[account2-1] money;return true;}bool deposit(int account, long long money) {if (!legalnum(account))return false;Ac[account-1] money;return true;}bool withdraw(int account, long long money) {if (!legalnum(account) || money Ac[account-1])return false;Ac[account-1] - money;return true;}bool legalnum(int num){return num1 numN;}
};208 ms 114 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步