给你一个以行程长度编码压缩的整数列表 nums 。
考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。
请你返回解压后的列表。
C语言实现:
int* decompressRLElist(int* nums, int numsSize, int* returnSize){
int i, j;
int freq, val;
int *ret = (int *) malloc( sizeof(int) * 10000 );
*returnSize = 0;
for(i = 0; i < numsSize; i += 2) {
freq = nums[i];
val = nums[i+1];
for(j = 0; j < freq; ++j)
ret[ (*returnSize)++ ] = val;
}
return ret;
}