「每日LeetCode」2021年9月22日

本文最后更新于:2023年3月19日 晚上

Lt2011. 执行操作后的变量值

2011. 执行操作后的变量值

存在一种仅支持 4 种操作和 1 个变量 X 的编程语言:

  • ++X 和 X++ 使变量 X 的值 加 1
  • –X 和 X– 使变量 X 的值 减 1

最初,X 的值是 0
给你一个字符串数组 operations ,这是由操作组成的一个列表,返回执行所有操作后, X 的 最终值 。

示例 1:
输入:operations = [“–X”,”X++”,”X++”] 输出:1 解释:操作按下述步骤执行: 最初,X = 0 –X:X 减 1 ,X = 0 - 1 = -1 X++:X 加 1 ,X = -1 + 1 = 0 X++:X 加 1 ,X = 0 + 1 = 1
示例 2:
输入:operations = [“++X”,”++X”,”X++”] 输出:3 解释:操作按下述步骤执行: 最初,X = 0 ++X:X 加 1 ,X = 0 + 1 = 1 ++X:X 加 1 ,X = 1 + 1 = 2 X++:X 加 1 ,X = 2 + 1 = 3
示例 3:
输入:operations = [“X++”,”++X”,”–X”,”X–”] 输出:0 解释:操作按下述步骤执行: 最初,X = 0 X++:X 加 1 ,X = 0 + 1 = 1 ++X:X 加 1 ,X = 1 + 1 = 2 –X:X 减 1 ,X = 2 - 1 = 1 X–:X 减 1 ,X = 1 - 1 = 0

提示:

  • 1 <= operations.length <= 100
  • operations[i] 将会是 “++X”、”X++”、”–X” 或 “X–”

思路

按题意模拟即可。

解答

1
2
3
4
5
6
7
8
9
10
11
12
/**
* @param {string[]} operations
* @return {number}
*/
var finalValueAfterOperations = function (operations) {
let res = 0;
for (const oper of operations) {
if (oper === "--X" || oper === "X--") res--;
else res++;
}
return res;
};