- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写一个函数,它接受一个压缩字符串并输出解压缩字符串。
像 a2b2c3
这样的压缩字符串解压字符串为 aabbccc
更多的例子是
`a` -> `a`
`ab12` -> `abbbbbbbbbbbb`
`a3b2a2` -> `aaabbaa
我试图实现它,但对于像
ab12
这样的压缩字符串来说,它真的很困惑和有问题。
function isNumeric(num) {
if (num === '') return false
if (num === null) return false
return !isNaN(num)
}
function decompress(compressedStr) {
const array = compressedStr.split('')
let prevChar, str = ''
for(let i = 0; i < array.length; i++) {
if(i === 0) {prevChar = array[i]}
if(isNumeric(array[i])) {
str += prevChar.repeat(Number(array[i]))
prevChar = null
} else {
if(!prevChar) prevChar = array[i]
else {
str += prevChar
prevChar = array[i]
}
}
}
return str
}
现在它适用于
a3b2a2
但对于像
ab12
这样的情况来说,它是有问题的.
最佳答案
您可以使用 String#replace
同时捕获字符和重复次数。
function decompress(str) {
return str.replace(/(\D)(\d+)/g, (_, g1, g2) => g1.repeat(g2));
}
console.log(decompress('a'));
console.log(decompress('ab12'));
console.log(decompress('a3b2a2'));
关于JavaScript 算法 : decompress a compressed string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69546803/
我一直在尝试导入名为 Winter Forest Envoriment 的 Assets ,每次单击导入时都会出现错误“导入包失败,出现错误:无法解压缩包UnityEngine.GUIUtility:
我想编写一个函数,它接受一个压缩字符串并输出解压缩字符串。 像 a2b2c3 这样的压缩字符串解压字符串为 aabbccc更多的例子是 `a` -> `a` `ab12` -> `abbbbbbbbb
我正在尝试使用 Swift 压缩包解压缩 lz4 压缩的 png 图像,但代码以零大小退出。 我的代码如下,解压后的文件预计为240Kb。 [更新 2] 我在 Apple 的文档中偶然发现了这一点:
我正在尝试使用 kafka-python。它要求安装 Snappy。所以我安装它 pip 安装 snappy pip 安装 python_snappy-0.5.2-cp36-cp36m-win_amd
我正在尝试解压缩 MySQL 的 COMPRESS 函数返回的值: SQLQuery query = session .createSQLQuery("SELECT ID, C
我正在尝试使用 Go 创建压缩字符串池。这是我的代码 - http://play.golang.org/p/T5usLfU0fA 我无法解压用 compress/lzw 包压缩的 bin。 lzw.W
我读过这篇 SO post无济于事。 我正在尝试解压缩来自 URL 的 .gz 文件。 url_file_handle=StringIO( gz_data ) gzip_file_handle=gzi
本文整理了Java中loci.formats.codec.ZlibCodec.decompress()方法的一些代码示例,展示了ZlibCodec.decompress()的具体用法。这些代码示例主要
在 ubuntu 19.04 上安装 Cassandra 3.11 版本后,一旦我启动命令 cqlsh,我就会收到以下错误 root@dnilesh:/etc/cassandra# cqlsh Con
我想将一些字节数据插入到 mysql VARBINARY 列中。数据很大,所以我想以压缩的方式存储它。 我正在使用 Percona 5.6 Mysql。我想用Java模拟mysql的COMPRESS函
我可以在python中解压从mysql压缩的数据吗? MySQL 5.6 select to_base64(compress("test")); 来自mysql的结果 BAAAAHicK0ktLgEA
http://php.net/manual/en/phar.decompress.php decompress(); // creates /path/to/my.phar ?> $p2 第一次用在代
我使用 Pillow 库创建缩略图。我必须创建很多,实际上超过 10.000 程序运行良好,但在处理大约 1.500 后,出现以下错误: Traceback (most recent call
我正在尝试使用 LzmaLib带有缓冲区的 LzmaCompress() 和 LzmaDecompress(),改编提供的示例 here . 我正在测试一个 ~3MB 的缓冲区,压缩函数似乎工作正常(
我是一名刚毕业的 SWE,正在学习 Go(并且喜欢它)。 我正在为维基百科转储文件构建一个解析器——基本上是一个巨大的 bzip2 压缩 XML 文件(~50GB 未压缩)。 我想同时做流式解压和解析
我有一个从MySQL表中获取名称(字符串)和值(byte[])的查询。查询都在执行,因为如果我在最后一行放上断点,我就可以查看数据数据表,并看到填充了名称字段的记录。但是,值字段为空。。如果我从查询中
本文整理了Java中net.spy.memcached.transcoders.WhalinV1Transcoder.decompress()方法的一些代码示例,展示了WhalinV1Transcod
本文整理了Java中net.spy.memcached.transcoders.WhalinTranscoder.decompress()方法的一些代码示例,展示了WhalinTranscoder.d
本文整理了Java中com.github.luben.zstd.Zstd.decompress()方法的一些代码示例,展示了Zstd.decompress()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中io.airlift.compress.zstd.ZstdDecompressor.decompress()方法的一些代码示例,展示了ZstdDecompressor.decomp
我是一名优秀的程序员,十分优秀!