# LeetCode 1313 ###### tags: `python`,`LeetCode` >這邊使用Python解題 ## 題目: We are given a list nums of integers representing a list compressed with run-length encoding. Consider each adjacent pair of elements [freq, val] = [nums[2*i], nums[2*i+1]] (with i >= 0). For each such pair, there are freq elements with value val concatenated in a sublist. Concatenate all the sublists from left to right to generate the decompressed list. Return the decompressed list. ## 範例 ### 範例 1: ``` Input: nums = [1,2,3,4] Output: [2,4,4,4] Explanation: The first pair [1,2] means we have freq = 1 and val = 2 so we generate the array [2]. The second pair [3,4] means we have freq = 3 and val = 4 so we generate [4,4,4]. At the end the concatenation [2] + [4,4,4] is [2,4,4,4]. ``` ### 範例 2: ``` Input: nums = [1,1,2,3] Output: [1,3,3] ``` ## 條件限制 * 2 <= nums.length <= 100 * nums.length % 2 == 0 * 1 <= nums[i] <= 100 ## 我的解題思路: 這題我一開始看到時,直覺就是會跟機偶數判斷,果不其然我的猜想被題目證實了XD [freq, val] = [nums[2*i], nums[2*i+1]] (with i >= 0). 這段還蠻好理解的,所以我直接把這想法套到程式碼上: ## 程式碼: ``` def decompressRLElist(self, nums: List[int]) -> List[int]: result = [] for i in range(len(nums)): if i % 2 == 0: for f in range(nums[i]): result.append(nums[i+1]) return result ```