【发布时间】:2017-10-18 05:43:34
【问题描述】:
实现一个搜索算法,在列表中搜索 Int n 并返回列表中 n 之前的值。如果没有值,或者列表为空,则返回 -1。例如,findPrev 5 [1,2,3,4,5,6] 应该返回 4,而 findPrev 5 [0, 10, 20, 30] 返回 -1。
我得到这个是为了找到号码,但不知道如何获得以前的号码。有人可以帮我解释一下吗?这是我做第一个的方法:
findNext :: Int -> [Int] -> Int
findNext _ [] = -1
findNext n (x:xs)
| n == x = head xs
| otherwise = findNext n xs
【问题讨论】: