これは本当に古い投稿でこれを見つけましたが、決して答えられないかもしれないので、質問したくありませんでした。誰かがこの単純なHaskellコードを私に詳細に説明することができます
f xs = maximum . filter (< maximum xs) $ xs
それはリスト
&#x200Bの最大値未満であるフィルタリングされたリスト
- あるようですが、私には見えます。
secondLargest :: (Num a, Ord a) => [a] -> a secondLargest [] = error "Empty List" secondLargest [x] = error "Empty List" secondLargest xs | ((maximum . filter (< maximum xs) $ xs) >= (maximum xs)) = maximum xs | otherwise = (maximum . filter (< maximum xs) $ xs)
上記コードは私が今作業しているものです。基本的に私はリストをソートすることができず、上記のコードは、最大と2番目に大きいものが同じでない限り、2番目に大きな要素を見つけます。
誰でも光を放つのを手伝うことができますか?
を基本的に私は機能が合計であるので、あなたはすべてのケースを説明するために必要がある場合は、このような何かを行うことができますリストの中で2番目に大きい番号を見つけようとしていて、それが何であるのか分かりません。 – Juscallmesteve
リストの2番目に大きな要素を返します。たとえば、 '[1,2,3,4,5]'を指定すると、 '4'が返されます。 –
私は今持っている新しいコードを投稿しましたが、重複しているものでは機能しません。 – Juscallmesteve