subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
commit
019f8fd211
766 changed files with 175420 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
from math import floor
|
||||
|
||||
def find_magic_index_brute(xs):
|
||||
for i in range(len(xs)):
|
||||
if xs[i] == i:
|
||||
return i
|
||||
return -1
|
||||
|
||||
def mid(lo, hi):
|
||||
return lo + floor((hi - lo) / 2)
|
||||
|
||||
def find_magic_index(xs):
|
||||
lo, hi = 0, len(xs) - 1
|
||||
return do_find_magic_index(xs, 0, len(xs) - 1)
|
||||
|
||||
def do_find_magic_index(xs, lo, hi):
|
||||
pass
|
||||
|
||||
xss = [
|
||||
[],
|
||||
[-1,0,2,4,5,6],
|
||||
[1,1,1,1,1,5],
|
||||
[-2,-2,-2,-2,4],
|
||||
[1,2,3,4,5],
|
||||
]
|
||||
|
||||
for xs in xss:
|
||||
print(xs)
|
||||
a = find_magic_index_brute(xs)
|
||||
b = find_magic_index(xs)
|
||||
print(a, b)
|
||||
assert a == b
|
||||
print("Success!")
|
||||
Loading…
Add table
Add a link
Reference in a new issue