文章目录

  • 1. 题目
  • 2. 解题

1. 题目

存在一种仅支持 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--"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/final-value-of-variable-after-performing-operations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 按题意模拟
class Solution:def finalValueAfterOperations(self, operations: List[str]) -> int:return sum([1 if '+' in x else -1 for x in operations])

32 ms 15 MB Python3

class Solution {public:int finalValueAfterOperations(vector<string>& operations) {int ans = 0;for(auto& op : operations){if(op[1] == '+')ans += 1;elseans -= 1;}return ans;}
};

8 ms 13.5 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 2011. 执行操作后的变量值相关推荐

  1. LeetCode 1625. 执行操作后字典序最小的字符串(BFS)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s 以及两个整数 a 和 b .其中,字符串 s 的长度为偶数,且仅由数字 0 到 9 组成. 你可以在 s 上按任意顺序多次执行下面两个 ...

  2. LeetCode 2382. 删除操作后的最大子段和

    LeetCode 2382. 删除操作后的最大子段和 倒叙 + 并查集 typedef long long LL; class Solution {public:vector<long long ...

  3. 在运行SSIS包时,如何动态更新变量值

    实现方式: 若要动态更新变量,可以为变量创建配置,将这些配置部署到包中,然后在部署包时更新配置文件中的变量值.这样,在运行时,包就可以使用更新后的变量值. 下面通过一个简单的例子来说明如何实现动态更新 ...

  4. php修改父进程变量,shell子进程修改父进程的环境变量值

    shell子进程修改父进程的环境变量值 脚本中的环境变量通过 export 导出,脚本中调用其他脚本使用这个变量 这里有两个脚本程序 hello 和 hello1 hello 脚本代码 #!/bin/ ...

  5. LeetCode 1722. 执行交换操作后的最小汉明距离(并查集)

    文章目录 1. 题目 2. 解题 1. 题目 给你两个整数数组 source 和 target ,长度都是 n . 还有一个数组 allowedSwaps ,其中每个 allowedSwaps[i] ...

  6. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  7. LeetCode 2202. K 次操作后最大化顶端元素

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 nums ,它表示一个 栈 ,其中 nums[0] 是栈顶的元素. 每一次操作中,你可以执行以下操作 之一 : 如果栈 ...

  8. LeetCode 1799. N 次操作后的最大分数和(回溯 / 状态压缩DP)

    文章目录 1. 题目 2. 解题 2.1 错误解 2.2 回溯超时解 2.3 回溯通过 2.4 状态压缩DP 1. 题目 给你 nums ,它是一个大小为 2 * n 的正整数数组. 你必须对这个数组 ...

  9. 【PyTorch】contiguous==>保证Tensor是连续的,通常transpose、permute 操作后执行 view需要此方法

    目录 PyTorch中的is_contiguous是什么含义? 行优先 为什么需要 contiguous ? contiguous 本身是形容词,表示连续的,关于 contiguous, PyTorc ...

最新文章

  1. Oracle已从2019年1月起收取Java费用
  2. p-unit - 单元级别开源性能测试框架
  3. ps光效插件_全套光效PS插件(2019),只有你想不到的,没有它做不到的PS特效...
  4. 今年Java面试必问的这些技术面,看完这一篇你就懂了
  5. 实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读
  6. POJ - 3926 Parade(单调队列优化dp)
  7. mysql信息函数和加密函数_MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)...
  8. 20190907:(leetcode习题)打家劫舍
  9. 计算机90学时培训小结,90学时培训学习心得体会
  10. 无所不能java人_无所不能的java
  11. ipad的文件连接服务器,使用Termius从iPad连接到Linux服务器
  12. 【转】python开发大全、系列文章、精品教程
  13. tabcontrol设置当前活动页
  14. 电镜的成像原理-冷冻电镜成像技术1
  15. linux查看日志内存,关于linux查询内存,CPU,存储空间和日志查询的的常用命令及参数-站长资讯中心...
  16. 学生成绩管理系统——JAVA
  17. 实时分析:Flume+Kafka+SparkStreaming商品评分排行榜
  18. Widows Git SSH
  19. autohotkey 函数
  20. Centos7安装配置

热门文章

  1. modal vue 关闭_Vue弹出框的优雅实践
  2. linux检查swap配置,Linux环境下swap配置方法
  3. python安装不了jupyter_python学习笔记——Windowns下Python3之安装jupyter
  4. MySQL8.0版本和5.7通过Navicat远程连接
  5. 【python】Flask视图
  6. Day13-日历模块
  7. 执行Hive语句报错:FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user '
  8. java怎样写入五个人的成绩_用java输入5个学员姓名和分数,显示分数最高的学员姓名和分数?...
  9. 苹果应用上架,一些信息的勾选(2017年4月27日)
  10. Linux:守护进程解析、如何实现守护进程