Files
LeetCode-Go/leetcode/2043.Simple-Bank-System/2043.Simple Bank System.go
2022-03-18 11:04:40 +08:00

45 lines
823 B
Go

package leetcode
type Bank struct {
accounts []int64
n int
}
func Constructor(balance []int64) Bank {
return Bank{
accounts: balance,
n: len(balance),
}
}
func (this *Bank) Transfer(account1 int, account2 int, money int64) bool {
if account1 > this.n || account2 > this.n {
return false
}
if this.accounts[account1-1] < money {
return false
}
this.accounts[account1-1] -= money
this.accounts[account2-1] += money
return true
}
func (this *Bank) Deposit(account int, money int64) bool {
if account > this.n {
return false
}
this.accounts[account-1] += money
return true
}
func (this *Bank) Withdraw(account int, money int64) bool {
if account > this.n {
return false
}
if this.accounts[account-1] < money {
return false
}
this.accounts[account-1] -= money
return true
}