小编Ael*_*lin的帖子

Haskell列表中的第二个最小值

我正在尝试编写一个secondSmallest返回列表中第二个最小值的函数,如果没有这样的值,则返回Nothing.此外,如果列表的最小值出现多次,则它也是第二小的值.例如:

  • secondSmallest [1.0] - > Nothing
  • secondSmallest [1,1,2] - > Just 1
  • secondSmallest [5,3,7,2,3,1] - > Just 2

这是我到目前为止所拥有的:

secondSmallest :: Ord a => [a] -> Maybe a
secondSmallest []       = Nothing
secondSmallest [x]      = Nothing
secondSmallest (x:y:xs) = Just secondSmallest ((if x < y then x else y):xs)
Run Code Online (Sandbox Code Playgroud)

haskell list

3
推荐指数
1
解决办法
551
查看次数

使用Haskell计算给定的低 - 高范围内的数字

我试图计算输入列表中有多少数字在给定的低 - 高范围内.

这是我到目前为止所拥有的:

countRange :: Int -> Int -> [Int] -> Int
countRange  _ _ [] = 0
countRange low high (x:xs)  | (low < x) && (high > x) = 1 + (countRange low high xs)
                            | otherwise = countRange low high xs
Run Code Online (Sandbox Code Playgroud)

一些例子:

  • countRange 5 8 [] ==> 0
  • countRange 1 3 [1,2,3,4,5] ==> 3

haskell list range

1
推荐指数
1
解决办法
179
查看次数

计算字符串列表中的回文数,Haskell

函数countPalindromes接收一个字符串列表,并返回有多少字符串为回文的计数.

isPalindrome :: String -> Bool
isPalindrome w = w == reverse w

countPalindromes :: [String] -> Int
countPalindromes ss = length filter (== isPalindrome) ss 
Run Code Online (Sandbox Code Playgroud)

我知道函数长度应用于两个参数而不是一个.我只是不知道如何解决这个问题?

string haskell list palindrome

0
推荐指数
1
解决办法
284
查看次数

标签 统计

haskell ×3

list ×3

palindrome ×1

range ×1

string ×1