执行操作后的变量值,我的题解首次优于官方
Posted Roam-G
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行操作后的变量值,我的题解首次优于官方相关的知识,希望对你有一定的参考价值。
难度简单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剩下的日子不多了,继续加油刷题,争取早日进大厂!
以上是关于执行操作后的变量值,我的题解首次优于官方的主要内容,如果未能解决你的问题,请参考以下文章
算法学习2011. 执行操作后的变量值(java / c / c++ / python / go / rust)