1313 problem, decompress coded list

I, entitled 1

Here Insert Picture Description

Second, the idea

Third, the code

import java.util.ArrayList;

public class T1313 {

    public static void main(String[] args) {
        int[]  nums = {1,2,3,4};
        //输出:[2,4,4,4]

        for ( int i : decompressRLElist(nums))
        System.out.print(  i+ "\t");
    }

    public static int[] decompressRLElist(int[] nums) {

//        int tmp = 1;
//
//        for ( int i = 0; 2*i+1 < nums.length; i++ ){
//            tmp *= nums[2*i];
//        }
//        int[] output = new int[tmp];
//
//        int count = 0;
//        for ( int i = 0; 2*i+1 < nums.length; i++ ){
//            for ( int j = 0; j < nums[2*i]; j++ ){
//                output[count++] = nums[2*i+1];
//            }
//        }
//
//        return output;

        ArrayList<Integer> output = new ArrayList<>();

        for ( int i = 0; 2*i+1 < nums.length; i++ ){
            for ( int j = 0; j < nums[2*i]; j++ ){
                output.add(nums[2*i+1]);
            }
        }

        int[] result = new int[output.size()];

        for ( int i = 0; i < result.length; i++ )
            result[i] = output.get(i);

        return result;
    }
}

  1. Source: stay button (LeetCode)
    link: https: //leetcode-cn.com/problems/decompress-run-length-encoded-list
    copyrighted by deduction from all networks. Commercial reprint please contact the authorized official, non-commercial reprint please indicate the source. ↩︎

Published 48 original articles · won praise 1 · views 865

Guess you like

Origin blog.csdn.net/weixin_45980031/article/details/104117677