【LeetCode】1313.解凍符号化リスト(C++)
1313.解凍符号化リスト(C++)テーマ説明 2例説明 2.1例1 2.2例2 3解題ヒント 4ソースコード詳細(C+) 1テーマの説明
ストローク長で圧縮された整数リストnumsを符号化します.各ペアの隣接する2つの要素[freq,val]=[nums[2 i],nums[2 i+1](i>=0)を考慮すると、各ペアは、解凍後のサブリストにfreq値がvalの要素があることを示し、すべてのサブリストを左から右に接続して解凍後のリストを生成する必要があります.解凍後のリストに戻ってください.
2例説明
2.1例1
入力:nums=[1,2,3,4]出力:[2,4,4,4]解釈:第1対[1,2]は2の出現頻度が1であることを表すので配列を生成する[2].第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++)
ストローク長で圧縮された整数リストnumsを符号化します.各ペアの隣接する2つの要素[freq,val]=[nums[2 i],nums[2 i+1](i>=0)を考慮すると、各ペアは、解凍後のサブリストにfreq値がvalの要素があることを示し、すべてのサブリストを左から右に接続して解凍後のリストを生成する必要があります.解凍後のリストに戻ってください.
2例説明
2.1例1
入力:nums=[1,2,3,4]出力:[2,4,4,4]解釈:第1対[1,2]は2の出現頻度が1であることを表すので配列を生成する[2].第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;
}
};