论坛首页 入门技术论坛

有个很鬼异的需求,向高手请教最优解

浏览 2397 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-12  
有一个List
内容如下:
a,b,b,b,c,c,d

想通过一种方法得到一个这样的串;
a;b*3;c*2;d
方法是有但是想寻求最简洁的实现。
   发表时间:2006-10-12  
gamex 写道
有一个List
内容如下:
a,b,b,b,c,c,d

想通过一种方法得到一个这样的串;
a;b*3;c*2;d
方法是有但是想寻求最简洁的实现。


如果你的串是:a,b,c,b,b,c,d呢
得到的结果是:a;b;c;b*2;c;d  还是 a;b*3;c*2;d ?
0 请登录后投票
   发表时间:2006-10-12  
要什么语言实现?python好像从2.4就加进了这样一个方法,忘了名字了。

我用ruby实现了一个:
arr = ["a", "b", "b", "b", "c", "c", "d"]
result = arr.inject([]){|a,b|(a.last.nil? || a.last.first != b) ? (a << [b, 1])
: (a.last[1] += 1); a}
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics