आसान 0 हल किए गए 0% स्वीकृति

Bank Account Rules

Protect an account's balance behind deposit and withdraw rules, rejecting invalid operations.

आप क्या सीखेंगे

  • Change state only through methods
  • Reject invalid amounts and overdrafts
  • Keep a count of rejected operations

समस्या

अनुवाद दिखाएँ

Encapsulation keeps an object's data private and only changes it through methods that enforce the rules. A bank account's balance can only change through deposit and withdraw.

Start with a balance of 0 and process the operations, each deposit <amount> or withdraw <amount>:

  • An amount that is 0 or negative is rejected.
  • A withdrawal larger than the current balance is rejected.
  • Otherwise the balance changes.

Implement bank_account_rules(operations).

Input

operations: The operations, in order.

Output

Return [final_balance, rejected_count].

सीमाएँ

0 ≤ number of operations ≤ 100,000

−10^9 ≤ amount ≤ 10^9

उदाहरण

उदाहरण 1
इनपुट:
operations = ["deposit 100", "withdraw 30", "withdraw 200"]

अपेक्षित आउटपुट:
expected = [70, 1]
इनपुट:
std::vector<std::string> operations = {"deposit 100", "withdraw 30", "withdraw 200"};

अपेक्षित आउटपुट:
std::vector<long long> expected = {70, 1};
इनपुट:
string[] operations = new string[] {"deposit 100", "withdraw 30", "withdraw 200"};

अपेक्षित आउटपुट:
long[] expected = new long[] {70, 1};

व्याख्या

100 − 30 leaves 70; withdrawing 200 would overdraw the account, so it is rejected: [70, 1].

उदाहरण 2
इनपुट:
operations = ["deposit -5", "withdraw 0", "deposit 10"]

अपेक्षित आउटपुट:
expected = [10, 2]
इनपुट:
std::vector<std::string> operations = {"deposit -5", "withdraw 0", "deposit 10"};

अपेक्षित आउटपुट:
std::vector<long long> expected = {10, 2};
इनपुट:
string[] operations = new string[] {"deposit -5", "withdraw 0", "deposit 10"};

अपेक्षित आउटपुट:
long[] expected = new long[] {10, 2};

व्याख्या

The negative deposit and the zero withdrawal are both rejected; the last deposit succeeds: [10, 2].

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

Keep the balance private and change it only in deposit and withdraw.

संकेत 2

Reject amounts of 0 or less before anything else.

संकेत 3

A withdrawal may not take the balance below zero.

अपेक्षित जटिलता

O(number of operations) time, O(1) extra space

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।