问题描述
使用P09的结论来实现所谓的游程编码,这是一种数据压缩的方法。连续重复的元素会编码成(N E)形式的列表,其中N为元素E重复的次数。如
sash> (encode (a a a a b c c a a d e e e e))
sash> ((4 a) (1 b) (2 c) (2 a) (1 d) (4 e))
解法…
若列表内包含重复出现的元素,则应只保留一个副本,且保持原列表元素的顺序。如
sash> (compress (a a a a b c c a a d e e e e))
sash> (a b c a d e)
问题分析
使用递归解决问题的好处在于能全局分析问题,从“局部“解决一个全局的…