2011. 执行操作后的变量值
难度简单46
存在一种仅支持 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
===
这个题目很简单。我的想法也很简单,就是逐个读取数据,然后判断该元素是否包含“--”或者“++”其中之一就可以了。
public static int finalValueAfterOperations(String[] operations) {
int ans = 0;
for (int i = 0; i < operations.length; i++) {
if (operations[i].contains("--")) {
ans--;
} else {
ans++;
}
}
return ans;
}
运行时间和内存:
感觉内存占比挺大的。现在试试官方题解看看效果:
class Solution {
public int finalValueAfterOperations(String[] operations) {
int x = 0;
for (String op : operations) {
if ("X++".equals(op) || "++X".equals(op)) {
x++;
} else {
x--;
}
}
return x;
}
}
比我的题解更耗内存!
每天坚持做一件事挺难的,马上2022快结束了,刷题目的数量还没有300个。
目前简单、中等题目可以轻松完成了。
但是困难模式的题目依然是几乎完全不会做。
2022剩下的日子不多了,继续加油刷题,争取早日进大厂!