【发布时间】:2015-01-13 20:36:29
【问题描述】:
所以我目前停留在“简单?”球拍中的功能。它使用的是 lambda 语言的中级学生。
对此的一些限制是不允许递归,本地函数也不允许。它是简单明了的抽象列表函数。
这个函数应该做的是接受一个数字列表,并输出一个对列表,其中每个对都有第一个元素作为数字,第二个元素是它在列表中出现的数字。
例子:
(1 1 2 3) => ((1 2) (2 1) (3 1))
(2 3 4 3) => ((2 1) (3 2) (4 1))
我有一个函数,它通过输入一个数字列表和一个数字来生成出现次数:
(define (occurrences lon n)
(length (filter (lambda (x) (= x n)) lon)))
我的做法显然是错误的:
(define (num-pairs-occurrences lon)
(list (lambda (x) (map (occurrences lon x) (remove x lon)) x))
我认为上述方法可行,但显然我的 lambda 放置不正确。有什么想法吗?
【问题讨论】: