Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
8
Task/Binary-search/CoffeeScript/binary-search-1.coffee
Normal file
8
Task/Binary-search/CoffeeScript/binary-search-1.coffee
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
binarySearch = (xs, x) ->
|
||||
do recurse = (low = 0, high = xs.length - 1) ->
|
||||
mid = Math.floor (low + high) / 2
|
||||
switch
|
||||
when high < low then NaN
|
||||
when xs[mid] > x then recurse low, mid - 1
|
||||
when xs[mid] < x then recurse mid + 1, high
|
||||
else mid
|
||||
9
Task/Binary-search/CoffeeScript/binary-search-2.coffee
Normal file
9
Task/Binary-search/CoffeeScript/binary-search-2.coffee
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
binarySearch = (xs, x) ->
|
||||
[low, high] = [0, xs.length - 1]
|
||||
while low <= high
|
||||
mid = Math.floor (low + high) / 2
|
||||
switch
|
||||
when xs[mid] > x then high = mid - 1
|
||||
when xs[mid] < x then low = mid + 1
|
||||
else return mid
|
||||
NaN
|
||||
8
Task/Binary-search/CoffeeScript/binary-search-3.coffee
Normal file
8
Task/Binary-search/CoffeeScript/binary-search-3.coffee
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
do (n = 12) ->
|
||||
odds = (it for it in [1..n] by 2)
|
||||
result = (it for it in \
|
||||
(binarySearch odds, it for it in [0..n]) \
|
||||
when not isNaN it)
|
||||
console.assert "#{result}" is "#{[0...odds.length]}"
|
||||
console.log "#{odds} are odd natural numbers"
|
||||
console.log "#{it} is ordinal of #{odds[it]}" for it in result
|
||||
Loading…
Add table
Add a link
Reference in a new issue