1313. 解壓縮編碼串列(C++)
- 1 題目描述
- 2 示例描述
- 2.1 示例 1
- 2.2 示例 2
- 3 解題提示
- 4 原始碼詳解(C++)
1 題目描述
給你一個以行程長度編碼壓縮的整數串列 nums ,
考慮每對相鄰的兩個元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一對都表示解壓后子串列中有 freq 個值為 val 的元素,你需要從左到右連接所有子串列以生成解壓后的串列,
請你回傳解壓后的串列,
2 示例描述
2.1 示例 1
輸入:nums = [1,2,3,4]
輸出:[2,4,4,4]
解釋:第一對 [1,2] 代表著 2 的出現頻次為 1,所以生成陣列 [2],
第二對 [3,4] 代表著 4 的出現頻次為 3,所以生成陣列 [4,4,4],
最后將它們串聯到一起 [2] + [4,4,4] = [2,4,4,4],
2.2 示例 2
輸入:nums = [1,1,2,3]
輸出:[1,3,3]
3 解題提示
2 <= nums.length <= 100
nums.length % 2 == 0
1 <= nums[i] <= 100
4 原始碼詳解(C++)
class Solution {
public:
vector<int> decompressRLElist(vector<int>& nums) {
vector<int> res;
for (int n = 0 , i = 1 ; n < nums.size() ; n = n + 2 , i = i + 2)
{
for (int j = 1 ; j <= nums[n] ; j++)
{
res.push_back(nums[i]);
}
}
return res;
}
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/263008.html
標籤:其他
上一篇:數電學習一——數制及其轉換
