I, entitled 1
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;
}
}
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. ↩︎