DEV Community

Cover image for Final Value of Variable After Performing Operations
Yajindra Gautam
Yajindra Gautam

Posted on • Edited on

4 2

Final Value of Variable After Performing Operations

Final Value of Variable After Performing Operations
(LeetCode easy problem)

There is a programming language with only four operations and one variable X:

++X and X++ increments the value of the variable X by 1.
--X and X-- decrements the value of the variable X by 1.
Enter fullscreen mode Exit fullscreen mode

Initially, the value of X is 0.

Given an array of strings operations containing a list of operations, return the final value of X after performing all the operations.
Example 1:


Input: operations = ["--X","X++","X++"]
Output: 1
Explanation: The operations are performed as follows:
Initially, X = 0.
--X: X is decremented by 1, X =  0 - 1 = -1.
X++: X is incremented by 1, X = -1 + 1 =  0.
X++: X is incremented by 1, X =  0 + 1 =  1.
Enter fullscreen mode Exit fullscreen mode

Example 2:

Input: operations = ["++X","++X","X++"]
Output: 3
Explanation: The operations are performed as follows:
Initially, X = 0.
++X: X is incremented by 1, X = 0 + 1 = 1.
++X: X is incremented by 1, X = 1 + 1 = 2.
X++: X is incremented by 1, X = 2 + 1 = 3.
Enter fullscreen mode Exit fullscreen mode

Example 3:

Input: operations = ["X++","++X","--X","X--"]
Output: 0
Explanation: The operations are performed as follows:
Initially, X = 0.
X++: X is incremented by 1, X = 0 + 1 = 1.
++X: X is incremented by 1, X = 1 + 1 = 2.
--X: X is decremented by 1, X = 2 - 1 = 1.
X--: X is decremented by 1, X = 1 - 1 = 0.
Enter fullscreen mode Exit fullscreen mode

Constraints:

1 <= operations.length <= 100 operations[i] will be either "++X", "X++", "--X", or "X--".

The approach I have used here is the simplest, in case I encounter "++X" or "X++" I will simply increment the value of x, if I get, or "X--" I will simply decrement the value. In case I encounter anything else I will simply continue.

The code is given below :

var finalValueAfterOperations = function(operations) {
 let num = 0;
    operations.forEach((operation, i)=>{
         num = operation === '--X' || operation === 'X--'  ?  num - 1  : operation === 'X++' ||  operation === '++X' ? num + 1  : 0;

    })
    return num;
};
Enter fullscreen mode Exit fullscreen mode

**Time Complexity: O(n)

Space Complexity: O(1)**

Image description

Runtime And Memory Usage

Hope this post is helpful. I share my knowledge and teach people about programming and we have more than 12k @codewithyahi Instagram family.

Since you enjoyed reading my blog, why not buy me a coffee and support my work here!! https://www.buymeacoffee.com/yajindra☕

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (2)

Collapse
 
naucode profile image
Al - Naucode

Great article, keep the good work! Liked and followed! 🚀

Collapse
 
yajindragautam profile image
Yajindra Gautam

Thank You much.😊

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay