执行操作后的变量值

108 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情

题目描述

存在一种仅支持 4 种操作和 1 个变量 X 的编程语言:
++X 和 X++ 使变量 X 的值 加 1
--X 和 X-- 使变量 X 的值 减 1
最初,X 的值是 0
给你一个字符串数组 operations ,这是由操作组成的一个列表,返回执行所有操作后, X 的 最终值 。
来源:力扣(LeetCode)

  • 示例 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--

思路分析

这道题可是说是很简单的一道题了。已知有四种操作项,++X 和 X++两个是使值都加一,--X 和 X--两个是使值都减去一,字符串数组operations是由这几个操作随机组成的列表。
首先生命一个count变量,存储值的大小,初始值是0。开始循环字符串数组operations,取到每个操作项,根据操作项来加减count的值,判断循环项,是否等于已知四个操作项的其中一个;若是++X 和 X++,count值就加一,若是--X 和 X--,count值就减一,直至循环结束,所有操作项都结束,最后的count值就是最后的目标值。

AC代码

function solution(operations) {
    let count = 0;
    operations.forEach( item => {
        if(item == '++X') {
            count += 1
        }else if(item == 'X++') {
            count += 1
        }else if(item == '--X') {
            count -= 1
        }else if(item == 'X--') {
            count -= 1
        }
    })
    console.log(count)
}
let operations = ["++X","++X","X++"];
solution(operations);