Chinaunix

标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。 [打印本页]

作者: superdoctor    时间: 2005-05-13 12:49
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
就是说只要是元素组成相同的都合并并记数,如何代码能最优呢??

大家讨论讨论吧
作者: flw    时间: 2005-05-13 12:59
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
join( '', sort (split( //, $str) ) )
然后再eq
作者: superdoctor    时间: 2005-05-13 13:19
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
flw,思路一半是正确的,但是还有些地方没有提到
如果是123/132/213/231/312/321的话最后打印的时候要输出123+数量值
如果是132/213/231/312/321的话最后打印的时候要输出132+数值
即总是输出最小的那个

文本的排列是无序的,可能最小的那个出现在最后。。。
最佳的实现方式
作者: apile    时间: 2005-05-13 16:02
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
eq的時候..會知道目前用那個element...
把哪組相同元素的elemant存進一個array..
到最後要輸出的時候,
找出最小的就好了....
作者: superdoctor    时间: 2005-05-13 16:17
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
原帖由 "apile" 发表:
eq的時候..會知道目前用那個element...
把哪組相同元素的elemant存進一個array..
到最後要輸出的時候,
找出最小的就好了....


apile 的想法和我的比较接近,但是应该是将相同name_sorted的element存进一个hash而不是一个array,因为还需要保存累加值
作者: apile    时间: 2005-05-13 16:42
标题: 文本处理文本处理:123/132/213/231/321/312合并为123 。。。
hash也可以放array的ref...這樣可以讓代碼更簡單...不過如果不加註說明
大概很難看得懂..




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2