Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LeetCode] 1313. Decompress Run-Length Encoded List #1313

Open
grandyang opened this issue May 30, 2019 · 0 comments
Open

[LeetCode] 1313. Decompress Run-Length Encoded List #1313

grandyang opened this issue May 30, 2019 · 0 comments

Comments

@grandyang
Copy link
Owner

grandyang commented May 30, 2019

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.

Example 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].

Example 2:

Input: nums = [1,1,2,3]
Output: [1,3,3]

Constraints:

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

这道题给了一个压缩后的数组,压缩的方法是将相同连续的数字的个数和其本身组成个数对儿,放到压缩数组中,以此类推。现在让我们解压缩成原来的数组,没啥太大的难度,就是每次取出两个数字,前一个数字是次数,后一个是数字本身,用一个 for 循环,就可以生成给定次数个数字,用这种方法就可以解压缩出原数组了,参见代码如下:

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

Github 同步地址:

#1313

类似题目:

String Compression

参考资料:

https://leetcode.com/problems/decompress-run-length-encoded-list/

https://leetcode.com/problems/decompress-run-length-encoded-list/discuss/521777/Java-100-time

https://leetcode.com/problems/decompress-run-length-encoded-list/discuss/477498/C%2B%2B-vector.insert(end-a-b)

LeetCode All in One 题目讲解汇总(持续更新中...)

(欢迎加入博主的知识星球,博主将及时答疑解惑,并分享刷题经验与总结,快快加入吧~)

知识星球 喜欢请点赞,疼爱请打赏❤️~.~

微信打赏

|

Venmo 打赏


---|---

@grandyang grandyang changed the title [LeetCode] 1313. Missing Problem [LeetCode] 1313. Decompress Run-Length Encoded List Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant