嗯,我是一个计划新手,我现在正在阅读SICP。我在网站上发现了一个问题。我花了2天的时间思考它,但仍然不知道可以请你们帮忙接着就,随即?返回计划中的子列表索引
问题如下:
在计算机科学中一个常见的任务是找到一个模式的情况下,在一个数据集。在这个 问题中,您将编写一个过程(find-sublist空间子列表),该过程按顺序返回空间子列表的所有实例的开始索引列表 。注意,子列表的实例可以重叠,如在[]中给出的一个示例中那样。如果空间包含列表,则不需要在空间中的列表中找到 子列表,如下面的一个示例[ *]所示。您可能会认为 子列表不是空的。
Examples:
(find-sublist '(7 1 2 3 4 1 2 1 2) '(1 2)) ; should return '(2 6 8)
(find-sublist '(“a” “b” “c” “b” “d”) '(“d”)) ; should return '(5)
(find-sublist '((1 2) (3 4) (5 . 6) 7 #f) '((3 4) (5 . 6))) ; should return '(2)
(find-sublist '(1 1 1 2 1) '(1 1)) ; [*] should return '(1 2)
(find-sublist '(9 1 2 3 (5 1 2 3) 1 2 3) '(1 2 3)) ; [**]should return '(2 6)
(find-sublist '() '(#t #f #f)) ; should return '()