You are given a list of strings operations
where each string represents a single operation on a variable X
that starts at 0. Only two types of operations are allowed: increment ("++X"
or "X++"
), and decrement ("--X"
or "X--"
).
Your task is to determine the final value of X
after performing all the operations.
Example:
operations = ["--X", "X++", "X++"]
The final value of X
should be 1.
X
always equal 0?
X
always starts at 0.X
initialized to 0."++X"
or "X++"
), increase X
by 1."--X"
or "X--"
), decrease X
by 1.X
.Here’s how you can implement this strategy in Python:
def final_value_after_operations(operations):
X = 0
for operation in operations:
if operation in ("++X", "X++"):
X += 1
elif operation in ("--X", "X--"):
X -= 1
return X
# Example usage
operations = ["--X", "X++", "X++"]
print(final_value_after_operations(operations)) # Output: 1
The time complexity for this solution is O(n), where n
is the number of operations in the list. This is because we are simply iterating through the list once and performing constant-time operations within the loop.
The space complexity for this solution is O(1). We are only using a fixed amount of extra space for the variable X
, regardless of the input size.
Got blindsided by a question you didn’t expect?
Spend too much time studying?
Or simply don’t have the time to go over all 3000 questions?