Decompress የሩጫ-ርዝመት ኢንኮዲድ ዝርዝር Leetcode መፍትሔ


የችግር ደረጃ ቀላል
ውስጥ በተደጋጋሚ ተጠየቀ አማዞን ፓም google
ሰልፍ

ችግሩ Decompress Run-Length Encoded List Leetcode Solution እርስዎ እንደተሰጡ ይገልጻል ደርድር ቅደም ተከተል የያዘ ቬክተር ቅደም ተከተል የተወሰነ የተወሰነ ውክልና አለው። የመግቢያ ቅደም ተከተል ከሌላ ቅደም ተከተል የተሠራ ነው። ያንን ሌላ ቅደም ተከተል እንደ መጀመሪያው ቅደም ተከተል እንጠራዋለን ፡፡ በየትኛው የግቤት ቅደም ተከተል ተፈጥሯል ፡፡ የመጀመሪያውን ቅደም ተከተል እንድናገኝ ተጠይቀናል. በቅደም ተከተል ውስጥ እያንዳንዱ ያልተለመደ (ኢት) መረጃ ጠቋሚ በቀዳሚው ቅደም ተከተል ውስጥ የሚከተለው (i + 1 ኛ) መረጃ ጠቋሚ የሚደጋገምበትን ብዛት ይወክላል ፡፡ ስለዚህ እንደማንኛውም ጊዜ ወደ መፍትሄው ከመግባታችን በፊት ጥቂት ምሳሌዎችን እንመልከት ፡፡

Decompress የሩጫ-ርዝመት ኢንኮዲድ ዝርዝር Leetcode መፍትሔ

nums = [1,2,3,4]
[2,4,4,4]

ማብራሪያ-ውጤቱ ትክክል መሆኑን እናረጋግጥ? 2 በመነሻ መግለጫው ውስጥ 1 ጊዜ ተደግሟል ፡፡ ስለዚህ በግብዓት ቅደም ተከተል ውስጥ መሆን አለበት 1 ፣ 2. ከዚያ በኋላ ፣ 4 3 ጊዜ ተደግሟል ፣ እሱም በግብዓት ቅደም ተከተል ውስጥም ይታያል ስለዚህ ፣ ይህ ውጤቱ ትክክል መሆኑን ያረጋግጣል።

nums = [1,1,2,3]
[1,3,3]

ማብራሪያ-እንደገና ውጤቱን ካረጋገጥን ፡፡ 1 አንድ ነጠላ ቅጂ ያለው ሲሆን 3 ደግሞ ሁለት ጊዜ ተደግሟል ፡፡ እንደገና ውጤቱ ትክክል ነው ፡፡

ለ Decompress የሩጫ-ርዝመት ኢንኮዲድ ዝርዝር Leetcode መፍትሔ አቀራረብ

ችግሩ Decompress Run-Length Encoded List Leetcode Solution መደበኛ አንድ ነው ፡፡ እና በተለያዩ ኩባንያዎች በተካሄዱ በበርካታ የኮድ ዙሮች ውስጥ በተደጋጋሚ ይጠየቃል ፡፡ የመጀመሪያውን ቅደም ተከተል ለማስቀመጥ አዲስ ድርድር መፍጠር ስለፈለግን አካሄዱ በጣም ቀላል ነው። እኛ ዝም ብለን ድርድር ወይም ቬክተር እንጠቀማለን እና በጀርባ ውስጥ ያሉትን አካላት መጨመር እንቀጥላለን።

ከእያንዲንደ ድግግሞሽ በኋሊ 2 አሃዶችን ሇሚዘሌ ሉፕ ሇመሮጥ እንችላለን ፡፡ ይህ እኛ የምንሠራው (ድግግሞሽ ፣ ዋጋ) ጥንዶች ብቻ መሆናችንን ያረጋግጣል ፡፡ አሁን በድጋሜ ለሉፕ በተሰራ ጎተራ ፣ በአይህ መረጃ ጠቋሚ ላይ ያለውን ንጥረ ነገር ወደ ቬክተር እንጨምረዋለን ፡፡ በተሰጠው የግቤት ቅደም ተከተል በ i + 1 ኛ ማውጫ ላይ ባለው ንጥረ ነገር መሠረት ጎጆውን ለሉፕ እንሰራለን ፡፡

ለ Decompress የሩጫ-ርዝመት ኢንኮዲድ ዝርዝር Leetcode መፍትሔ

ሲ ++ ኮድ

#include <bits/stdc++.h>
using namespace std;

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

int main(){
    vector<int> input = {1,2,3,4};
    vector<int> output = decompressRLElist(input);
    for(auto x: output)cout<<x<<" ";
}
2 4 4 4

የጃቫ ኮድ

import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
  public static int[] decompressRLElist(int[] nums) {
        int size = 0, k = 0;
        for(int i=0;i<nums.length;i+=2)
            size += nums[i];
        int[] tmp = new int[size];
        for(int i=0;i<nums.length;i+=2){
            for(int j=0;j<nums[i];j++)
                tmp[k++] = nums[i+1];
        }
        return tmp;
    }
    
  public static void main (String[] args) throws java.lang.Exception{
    int[] input = {1,2,3,4};
      int[] output = decompressRLElist(input);
      for(Integer x: output)System.out.print(x+" ");
  }
}
2 4 4 4

ውስብስብነት ትንተና

የጊዜ ውስብስብነት

ኦ (ኤን) ፣ የት የውጤቱ ርዝመት N ነው። እዚህ የጊዜ ውስብስብነቱ በግብዓት ላይ አይመሰረትም ፡፡ በግብዓት ፋንታ የጊዜ ውስብስብነቱ ጥገኛ በሆነው ውጤት ወይም ውጤት ላይ የተመሠረተ ነው።

የቦታ ውስብስብነት

ኦ (ኤን) ፣ የት የውጤቱ ርዝመት N ነው። ምርቱን ስለምናስቀምጠው የምንመልሰው ስለሆነ ነው ፡፡ ክፍተት እንዲሁ በእሱ ተይ isል.