前往
大廳
主題

LeetCode - 2221. Find Triangular Sum of an Array 解題心得

Not In My Back Yard | 2022-12-09 12:00:09 | 巴幣 0 | 人氣 188

題目連結:


題目意譯:
你被給定一個索引值從 0 開始的整數陣列 nums,其中 nums[i] 為介於 0(含)到 9(含)之間的數字。

nums 的三角總和為以下過程結束之後於 nums 中剩下來的唯一一個元素:
1. 假設 nums 由 n 個元素所組成。如果 n == 1,則終止以下過程;反之,創造一個索引值從 0 開始的新陣列 newNums,其長度為 n - 1。
2. 對於每個索引值 i,其中 0 ≦ i < n - 1,將 newNums[i] 的值設定為 (nums[i] + nums[i+1]) % 10,其中「%」代表著模數(Modulo)運算子。
3. 將陣列 nums 替換成 newNums。
4. 回到第 1 步並重複以上動作。

回傳 nums 的三角總和。

限制:
1 ≦ nums.length ≦ 1000
0 ≦ nums[i] ≦ 9



範例測資:
範例 1:
輸入: nums = [1,2,3,4,5]
輸出: 8
解釋:
上圖代表著我們從陣列得到三角總和的過程。

範例 2:
輸入: nums = [5]
輸出: 5
解釋:
由於 nums 中只有一個元素存在,因此其三角總和為該元素本身。


解題思維:
這題基本一致(除了在本題中,每個數值應模 10,所以數字不會變得太大)。

此外,該題留言區也有提到另一種除了模擬以外的作法。雖然敘述稍微不精確,但仍是一個好提示。有興趣的讀者可以自行思考該解法。




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

創作回應

相關創作

更多創作