题目如下:
下面是代码实现:
class Solution {
public int[] decompressRLElist(int[] nums) {
// 定义新数组长度
int newArraylength = 0;
// 遍历得出新数组长度
for (int i = 0; i < nums.length; i += 2) {
newArraylength += nums[i];
}
//创建新数组
int newArray[] = new int[newArraylength];
//定义新数组下标
int index = 0;
//将旧数组按规则放进新数组里
for (int i = 0; i < nums.length; i += 2) {
//当nums[i] > 0时,继续往旧数组里加nums[i+1]的元素
while (nums[i] > 0) {
newArray[index] = nums[i + 1];
index++;//新数组下标加1
nums[i]--;//第一个元素减1
}
}
//返回新数组
return newArray;
}
}