↓快轉到主要內容
  1. LeetCode/

LeetCode 4097: Minimum Value of Merged Integers

·1 分鐘· ·
LeetCode Easy Array String Simulation
Wei Yi Chung
作者
Wei Yi Chung
Working at the contributing of open source, distributed systems, and data engineering.
目錄

基本資料
#

難易度: easy 第一次嘗試:2026-11-02

  • 提交紀錄:Wrong Answer → Accepted

解題思路
#

題目指定配對方式:nums[0] 和 nums[1]、nums[2] 和 nums[3]……每一對把兩個數字的十進位接起來,取最小值。照做就好:i 每次加 2,把 str(nums[i]) + str(nums[i + 1]) 轉成整數比較。

也可以不轉字串:b 有 d 位數的話,接起來是 a * 10^d + b。

我的嘗試
#

  1. i 每次加 1,把每一對相鄰元素都合併了,多算了題目沒有的配對:[70,41,91,11] 回傳 4191(41 和 91 接起來),答案是 7041。
  2. 改成步長 2 就過了。

正確解法
#

class Solution:
    def minMergedInteger(self, nums: List[int]) -> int:
        return min(int(str(nums[i]) + str(nums[i + 1])) for i in range(0, len(nums), 2))

複雜度
#

時間 O(n)(每個數字最多 4 位數),空間 O(1)。

要特別避免的錯誤
#

  • 看清楚配對是固定的 (0,1)、(2,3),不是所有相鄰的兩個。

面試口說整理
#

配對是固定的,所以我用步長 2 走過陣列,把每一對接成一個整數,取最小值。時間 O(n)。

相關文章

LeetCode 3838: Weighted Word Mapping
·1 分鐘
LeetCode Easy Array String Simulation
LeetCode 3838 解題筆記:每個字的權重加總取 mod 26,再反向對應字母:0 -> z,也就是 chr(ord(‘z’) - r)
LeetCode 3842: Toggle Light Bulbs
·1 分鐘
LeetCode Easy Hash-Table Simulation Array
LeetCode 3842 解題筆記:用集合切換開關,或數出現奇數次的燈泡;最後要排序
LeetCode 1646: Get Maximum in Generated Array
·1 分鐘
LeetCode Easy Array Simulation
LeetCode 1646 解題筆記:照規則生成陣列:偶數位置 nums[i // 2],奇數位置 nums[i // 2] + nums[i // 2 + 1],n = 0 要特別處理
LeetCode 1002: Find Common Characters
·1 分鐘
LeetCode Easy Array Hash-Table String
LeetCode 1002 解題筆記:每個單字各自計數,對所有 Counter 取交集(每個字元取最小次數),再展開
LeetCode 929: Unique Email Addresses
·1 分鐘
LeetCode Easy Array Hash-Table String
LeetCode 929 解題筆記:用 @ 切開,只處理 local 的部分(+ 之後丟掉、去掉 .),接回 domain 後放進集合
LeetCode 944: Delete Columns to Make Sorted
·1 分鐘
LeetCode Easy Array String Longest-Increasing-Subsequence
LeetCode 944 解題筆記:用 zip(*strs) 取出每一欄,數有幾欄不是非遞減的