Leetcode 1313:解凍符号化されたリスト(超詳細溶液!!!)

あなたの整数のランレングス圧縮符号化リストを与えるためにnums

各二つの隣接する要素考える[a, b] = [nums[2*i], nums[2*i+1]](ここi >= 0)、抽出した後に発現し、各ペアaの値b要素。

解凍後のリストに戻ってください。

例:

输入:nums = [1,2,3,4]
输出:[2,4,4,4]

ヒント:

  • 2 <= nums.length <= 100
  • nums.length % 2 == 0
  • 1 <= nums[i] <= 100

問題解決のためのアイデア

主題に従って動作することを意味します。

class Solution:
    def decompressRLElist(self, nums: List[int]) -> List[int]:
        res = []
        for i in range(0, len(nums), 2):
            res += [nums[i + 1]] * nums[i]
        return res

その他のpythonic文言。

class Solution:
    def decompressRLElist(self, nums: List[int]) -> List[int]:
        return [x for a, b in zip(nums[0::2], nums[1::2]) for x in [b] * a]

私は私に追加の質問の他の言語バージョンGitHubのLeetcode

ご質問がある場合は、私が指摘したいです!

公開された694元の記事 ウォンの賞賛441 ビュー800 000 +

おすすめ

転載: blog.csdn.net/qq_17550379/article/details/103974124