2026-08-24
MyMax.hs
myMax :: Ord a => [a] -> a
myMax = undefined -- write this
組み込みのmaximumを使わずにmyMaxを実装してください。リストは空でないものとします。
Reference
myMax :: Ord a => [a] -> a
myMax [x] = x
myMax (x:xs) = max x (myMax xs)
要素が1つだけのリストの最大値はその要素自身です。それ以外の場合は、先頭要素と残りの部分の最大値を比較します。これはリストが空でないことを前提としています — myMax []はパターンマッチ失敗になります。これは組み込みのmaximumと同じ挙動です。