DEV Community

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

Posted on • Updated on

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โ˜•

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.๐Ÿ˜Š