【发布时间】:2014-12-01 08:24:03
【问题描述】:
我是 Scheme 的新手。我想获取向量中某个数字的出现次数。
我在第 0 个索引为 0 的向量上使用此函数。
N 只是向量的长度 - 1。
(我将此函数用作另一个函数的一部分......这就是我设置这些要求的原因。)
这是我到目前为止在 DrRacket 中得到的:
(define (frequency? test-num solutions N)
(do
((count 1 (+ count 1))
(result 0 (if (equal? (vector-ref solutions count) test-num) (add1 result) result)))
((<= count N) result)))
(define v (vector 0 3 2 4 5 2))
(frequency? 2 v 5) ; got 0 instead of 2
我检查了“结果”在第二个索引上更改为 1,但之后不知何故恢复为 0。
有没有更好的方法来编写这段代码?
【问题讨论】:
标签: vector scheme iteration racket frequency