DEV Community

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

Posted on Edited 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.😊