前往
大廳
主題

LeetCode - 2011. Final Value of Variable After Performing Operations 解題心得

Not In My Back Yard | 2022-03-05 00:00:07 | 巴幣 0 | 人氣 211

題目連結:


題目意譯:
現在有一個程式語言只有著四種操作以及一個變數 X:
++X 和 X++ 將 X 的值加上 1。
--X 和 X-- 將 X 的值減去 1。

一開始,X 之值為 0。

給定一字串陣列 operations 代表一個操作列表,回傳執行所有操作後的 X 之最終值。

限制:
1 ≦ operations.length ≦ 100
operations[i] 只會是 "++X" 、 "X++" 、 "--X" 或是 "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。


解題思維:
就是單純地模擬即可。

定義一個變數 X = 0。然後掃過 operations 內所有的操作,判斷每個操作中間的字元是何者(因為 "X++" 和 "++X" 中間的都是「+」;相似地 "X--" 和 "--X" 中間都是「-」),就做對應的操作即可。

最後回傳 X 之值即是所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作