Sha256: bb51c774b47b47656ea35c00d94435585ce963feb76dd13594ad752cdb33a1bc

Contents?: true

Size: 490 Bytes

Versions: 253

Compression:

Stored size: 490 Bytes

Contents

module BinarySearch
  ( find
  ) where

import Prelude
import Data.Array (length, (!!))
import Data.Maybe (Maybe(Just, Nothing))

find :: Int -> Array Int -> Maybe Int
find i a = go 0 (length a - 1)
  where go l h | l > h = Nothing
        go l h =
          let m = l + (h - l) / 2
          in case a !! m of
               Nothing -> Nothing
               Just j | j == i    -> Just m
                      | j < i     -> go (m + 1) h
                      | otherwise -> go l (m - 1)

Version data entries

253 entries across 253 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.158 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.157 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.156 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.155 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.154 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.153 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.152 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.151 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.150 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.149 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.148 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.147 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.146 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.145 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.144 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.143 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.142 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.141 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs
trackler-2.2.1.140 tracks/purescript/exercises/binary-search/examples/src/BinarySearch.purs