浅谈 解压缩编码列表 问题

解压缩编码列表

问题:
给你一个以行程长度编码压缩的整数列表 nums 。
考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。
请你返回解压后的列表。

思路:
以步长为 2 遍历数组,像问题中所描述的那样添加元素到新的数组并返回。

class Solution {
    
    
public:
    vector<int> decompressRLElist(const vector<int>& nums) {
    
    
        vector<int> res;
        for(int i = 0; i < nums.size() - 1; i += 2) {
    
    
            for(int k = 0; k < nums[i]; ++k) {
    
    
                res.push_back(nums[i + 1]);
            }
        }
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_48033173/article/details/112966890