免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 16770 | 回复: 13
打印 上一主题 下一主题

1,2,3,5,6,7,8 如何合并成1-3,5-8 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-31 17:23 |只看该作者 |倒序浏览
RT!

求指点!!!

论坛徽章:
0
2 [报告]
发表于 2010-12-31 21:39 |只看该作者
不太明白 LZ 的意思,如果要给一个数组分组,可以这样:

  1. >> a
  2. => [1, 2, 3, 5, 6, 7, 8]
  3. >> a.partition {|i| i < 4 }
  4. => [[1, 2, 3], [5, 6, 7, 8]]
复制代码

论坛徽章:
0
3 [报告]
发表于 2010-12-31 21:45 |只看该作者
$ cat ana.rb
  1. x=[1,2,3,5,6,7,8]
  2. y=[]
  3. c=false

  4. x.each_index do |s|
  5.    unless c
  6.      y << [x[s]]
  7.      c=true
  8.    end
  9.    if x[s]+1 != x[s+1]
  10.       y[-1] << x[s]
  11.       c=false
  12.    end
  13. end
  14.    
  15. p y
复制代码
$ ruby ana.rb
[[1, 3], [5, 8]]

论坛徽章:
0
4 [报告]
发表于 2010-12-31 21:46 |只看该作者
不太明白 LZ 的意思,如果要给一个数组分组,可以这样:
Sapien 发表于 2010-12-31 21:39



    他说的不是数组分组。而是找出连续序列。

论坛徽章:
0
5 [报告]
发表于 2011-01-05 13:24 |只看该作者
先谢谢哈。

论坛徽章:
0
6 [报告]
发表于 2011-01-06 20:29 |只看该作者
mark,看我啥时候把上面那段程序看懂

论坛徽章:
0
7 [报告]
发表于 2011-01-07 11:32 |只看该作者
勉强看懂,写的真好

论坛徽章:
0
8 [报告]
发表于 2011-01-07 11:59 |只看该作者
勉强看懂,写的真好
ricks_wu 发表于 2011-01-07 11:32



    你也可以多动手写呀。。
everyday scripting with Ruby
这是我的口号,虽然我工作不是用ruby.

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
9 [报告]
发表于 2013-11-20 09:38 |只看该作者
本帖最后由 pitonas 于 2013-11-20 03:11 编辑

多动手
1-3,5-8,11,13,15-17
  1. #!/usr/bin/ruby -w

  2. a = [1, 2, 3, 5, 6, 7, 8, 11, 13, 15, 16, 17]
  3. b = [[a.shift]]

  4. a.each do |e|
  5.   e - b[-1][-1] > 1 ? b << [e] : b[-1][1] = e
  6. end

  7. puts b.map { |e| e * ?- } * ?,
复制代码

论坛徽章:
3
寅虎
日期:2013-11-27 07:53:29申猴
日期:2014-09-12 09:24:152015年迎新春徽章
日期:2015-03-04 09:48:31
10 [报告]
发表于 2013-11-21 19:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP