【发布时间】:2011-04-12 15:48:39
【问题描述】:
我需要编写一个函数“once”,给定一个整数列表和一个整数 n,它返回一个布尔值,指示 n 是否在列表中恰好出现一次。例如
Main> once [2,3,2,4] 2
False
Main> once [1..100] 2
True
这是我当前的代码:
once :: Int -> [Int] -> Bool
once x [] = False
once x (y:ys) = (x==y) || (once x ys)
它只检查 x 是否是列表的一部分,但它不能告诉 x 在列表中出现了多次,因此返回 false。 需要帮助,谢谢!
【问题讨论】:
-
我打赌两个学生上同一门课 :D
-
我希望 van Deemter 教授不要因为你愚蠢和懒惰而决定设置另一个评估,不仅自己做评估,甚至改变问题......
标签: list haskell duplicates