【008】Leetcode—數組—1313. 解壓縮編碼列表(Decompress Run-Length Encoded List)

題目信息

給你一個以行程長度編碼壓縮的整數列表 nums 。

考慮每對相鄰的兩個元素 [a, b] = [nums[2 * i], nums[2 * i+1]] (其中 i >= 0 ),每一對都表示解壓後有 a 個值爲 b 的元素。

請你返回解壓後的列表。

示例:

輸入:nums = [1,2,3,4]
輸出:[2,4,4,4]
解釋:第一對 [1,2] 代表着 2 的出現頻次爲 1,所以生成數組[2]。 第二對 [3,4] 代表着 4 的出現頻次爲 3,所以生成數組 [4,4,4]。 最後將它們串聯到一起 [2] + [4,4,4] = [2,4,4,4]。

解題思路

        nLen = len(nums)//2
        result = []
        i = 0
        while i < nLen:
            a,b= nums[2*i],nums[2*i+1]
            item = [b]
            result.extend(item*a)
            i += 1
        return result

利用列表的乘特性,遍歷整個列表,然後用extend方法拼接起來。

學習

TODO

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章