Leetcode1313 Decompress Run-Length Encoded List(解压缩编码列表)

public int[] decompressRLElist(int[] nums) {    int[] result = new int[1000];    int k = 0;    for (int i = 0; i < (nums.length / 2); i++) {        for (int j = 0; j < nums[2 * i]; j++) {            result[k] = nums[2 * i + 1];            k++;        }    }    /*System.out.println("输入解码后的数组数据");    for(int i=0;i<k;i++)        System.out.print(result[i]+" ");*/    return result;}这是自己的代码最终输出结果为

由于java数组长度是无法改变的 所以我预设了一个固定空间数组 导致最后输出了多余的0元素 导致无法ac

问题出在没有想到数组长度怎么解决 (自己真的笨

查看了solutions发现数组的偶位置元素值相加之和,就是数组长度

故修改代码为:

public int[] decompressRLElist(int[] nums) {    int l=0;    for(int i=0;i<nums.length;i+=2)        l+=nums[i];    int [] result=new int[l];    int k = 0;    for (int i = 0; i < (nums.length / 2); i++) {        for (int j = 0; j < nums[2 * i]; j++) {            result[k] = nums[2 * i + 1];            k++;        }    }    System.out.println("输入解码后的数组数据");    for(int i=0;i<k;i++)        System.out.print(result[i]+" ");    return result;}

同时还看到了另外一种解法

LinkedList<Integer> list = new LinkedList<>();for (int i = 0; i < nums.length; i = i + 2) {    for (int j = 0; j < nums[i]; j++) {        list.add(nums[i + 1]);    }}int [] result=new int[list.size()];for(int i=0;i<list.size();i++){    result [i]=list.get(i);}return result;

原文地址:https://www.cnblogs.com/chengxian/p/12204018.html

时间: 2024-10-19 14:45:28

Leetcode1313 Decompress Run-Length Encoded List(解压缩编码列表)的相关文章

解压缩编码列表

给你一个以行程长度编码压缩的整数列表 nums . 考虑每对相邻的两个元素 [a, b] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后有 a 个值为 b 的元素. 请你返回解压后的列表. 示例: 输入:nums = [1,2,3,4]输出:[2,4,4,4]解释:第一对 [1,2] 代表着 2 的出现频次为 1,所以生成数组 [2].第二对 [3,4] 代表着 4 的出现频次为 3,所以生成数组 [4,4,4].最后将它们串联到一起 [2]

1313. 解压缩编码列表 - c

/** * Note: The returned array must be malloced, assume caller calls free(). */ int* decompressRLElist(int* nums, int numsSize, int* returnSize){ if (nums == NULL) return NULL; *returnSize = 0; for (int i = 0; i < numsSize; i += 2) (*returnSize) += n

POJ 1782 Run Length Encoding

Run Length Encoding Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4330   Accepted: 1405 Description Your task is to write a program that performs a simple form of run-length encoding, as described by the rules below. Any sequence of be

对GBK的理解(内附全部字符编码列表)

由于GB 2312-80只收录6763个汉字,有不少汉字,如部分在GB 2312-80推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内.于是厂商微软利用GB 2312-80未使用的编码空间,收录GB 13000.1-93全部字符制定了GBK编码. 其使用范围如下(注意是汉字编码表,不包括符号编码): 表1 汉字编码范围 名称 第一字节 第二字节 GB2312 0xB0-0xF7(176-247) 0xA0-

Encoding.GetEncoding 编码列表

代码页 名称 显示名称   37 IBM037 IBM EBCDIC(美国 - 加拿大)   437 IBM437 OEM 美国   500 IBM500 IBM EBCDIC(国际)   708 ASMO-708 阿拉伯字符 (ASMO 708)   720 DOS-720 阿拉伯字符 (DOS)   737 ibm737 希腊字符 (DOS)   775 ibm775 波罗的海字符 (DOS)   850 ibm850 西欧字符 (DOS)   852 ibm852 中欧字符 (DOS)  

Video Codecs by FOURCC 视频格式编码

FOURCC Name Summary 1978 A.M.Paredes predictor This is a LossLess video codec. >>> 2VUY 2VUY / BlackMagic >>> 3IV0 3ivx 3IV0 no longer used for this codec, however some files might be around. >>> 3IV1 3ivx MPEG4-based codec. Use

uboot2011.09源代码ReadMe译文

# # (C) Copyright 2000 - 2011 # Wolfgang Denk, DENX Software Engineering, [email protected] #查看建立这个工程的文件列表人 # #这个程序是自由软件,你可以重新分配它或者修改它在GNU通用公共许可证以由自由软件基#金会发布:第二版或者任何之后的版本. #本程序是分布在希望它是有用的,但没有任何保证:甚至没有隐含保证. #查看 GNU通用公共许可证对于更多的细节. #你应该收到一份GNU通用公共许可证随着这

常见.Net 英文专业词汇

abstract class 抽象类 accelerator 快捷键 accelerator mapping 快捷键映射 accelerator table 快捷键对应表 access modifier 访问修饰符 Access Pack 访问包 access specifier 访问说明符 access violation 访问冲突 accessibility 辅助功能 accessibility domain 可访问域 Accessibility Options 辅助功能选项 accesso

u-boot-2016.07 README文档结构

Author:AP0904225版权声明:本文为博主原创文章,转载请标明出处. 阅读u-boot的README文档,可以获取很多有用的信息,例如从哪里可以获得帮助,帮助:u-boot版本命名规则,目录层次结构:软件配置,开发板初始化流程,配置选项,开发板的初始化设置,配置设置,硬件相关的配置选项:如何编译u-boot,环境变量,Image格式,Linux支持等等有关的信息. u-boot README文档信息主干结构不够清晰,各主题埋没在汪汪文字海洋中,因此特意整理了下u-boot EADME文