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剩下的日子不多了,继续加油刷题,争取早日进大厂!
|