題目連結(jié):
題目意譯:
你被給定一個索引值從 0 開始的整數(shù)陣列 nums。
兩個數(shù)字的「串接」為一個由它們兩者的數(shù)值相接在一起所形成的新數(shù)字。
例如說,15 和 49 的串接為 1549。
nums 的「串接值」一開始為 0。執(zhí)行以下操作直到 nums 變?yōu)榭眨?/div>
如果 nums 中存在多於一個數(shù)字,則從 nums 中挑出第一個以及最後一個元素。將兩者串接後再將其值加到 nums 的串接值裡。之後並將第一個和最後一個元素從 nums 中刪除;
如果只存在一個元素,則將其值直接加進(jìn) nums 的串接值中並刪除該元素。
回傳 nums 的串接值。
限制:
1 ≦ nums.length ≦ 1000
1 ≦ nums[i] ≦ 10 ^ 4
範(fàn)例測資:
範(fàn)例 1:
輸入: nums = [7,52,2,4]
輸出: 596
解釋: 在執(zhí)行任意操作之前,nums 為 [7,52,2,4] 且串接值為 0。
- 在第一次操作中:
我們挑出第一個元素 7 以及最後一個元素 4。
它們的串接結(jié)果為 74,而我們將這個數(shù)值加到串接值中,所以它將變?yōu)?74。
接著我們將這些元素從 nums 中刪除,因此 nums 變?yōu)?[52,2]。
- 在第二次操作中:
我們挑出第一個元素 52 以及最後一個元素 2。
它們的串接結(jié)果為 522,而我們將這個數(shù)值加到串接值中,所以它將變?yōu)?596。
接著我們將這些元素從 nums 中刪除,因此 nums 變?yōu)榭铡?/div>
由於串接值為 596,所以答案為 596。
範(fàn)例 2:
輸入: nums = [5,14,13,8,12]
輸出: 673
解釋: 在執(zhí)行任意操作之前,nums 為 [5,14,13,8,12]且串接值為 0。
- 在第一次操作中:
我們挑出第一個元素 5 以及最後一個元素 12。
它們的串接結(jié)果為 512,而我們將這個數(shù)值加到串接值中,所以它將變?yōu)?512。
接著我們將這些元素從 nums 中刪除,因此 nums 變?yōu)?[14,13,8]。
- 在第二次操作中:
我們挑出第一個元素 14 以及最後一個元素 8。
它們的串接結(jié)果為 148,而我們將這個數(shù)值加到串接值中,所以它將變?yōu)?660。
接著我們將這些元素從 nums 中刪除,因此 nums 變?yōu)?[13]。
- 在第三次操作中:
nums 只剩一個元素,所以我們挑出 13 並加到串接值中,所以它將變?yōu)?673。
接著我們將這個元素從 nums 中刪除,因此 nums 變?yōu)榭铡?/div>
由於串接值為 673,所以答案為 673。
解題思維:
直接模擬即可。不過「刪除」的部分可以改用兩個指標(biāo),一個指向「當(dāng)前」第一個元素而另一個指向最後一個元素。
只要兩個指標(biāo)還尚未「交錯」(即跨過彼此),就把兩個指標(biāo)指到的元素串接在一起並加到串接值中(如果兩個指標(biāo)是指到同一個就直接加到串接值中)。
最後的串接值即為所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
相關(guān)創(chuàng)作
【遊戲題外話】十字軍之王 2 代與 3 代
2
245
【十字軍之王 2】14. 向天再借五百年
2
325
【十字軍之王 2】13. 鏡花水月總是夢
1
308
【十字軍之王 2】12. 傳奇女皇與中國征服
1
300
【十字軍之王 2】10. 漢人道教東羅馬帝國皇帝
2
244
【十字軍之王 2】7. 從西域到印度的大魏國
1
237
【十字軍之王 2】6. 從王國獨立到帝國建立
2
281