代码拉取完成,页面将自动刷新
class Array(object):
def search_sorted_array(self, array, val):
if array is None or val is None:
raise TypeError('array or val cannot be None')
if not array:
return None
return self._search_sorted_array(array, val, start=0, end=len(array) - 1)
def _search_sorted_array(self, array, val, start, end):
if end < start:
return None
mid = (start + end) // 2
if array[mid] == val:
return mid
# Left side is sorted
if array[start] < array[mid]:
if array[start] <= val < array[mid]:
return self._search_sorted_array(array, val, start, mid - 1)
else:
return self._search_sorted_array(array, val, mid + 1, end)
# Right side is sorted
elif array[start] > array[mid]:
if array[mid] < val <= array[end]:
return self._search_sorted_array(array, val, mid + 1, end)
else:
return self._search_sorted_array(array, val, start, mid - 1)
# Duplicates
else:
if array[mid] != array[end]:
return self._search_sorted_array(array, val, mid + 1, end)
else:
result = self._search_sorted_array(array, val, start, mid - 1)
if result != None:
return result
else:
return self._search_sorted_array(array, val, mid + 1, end)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。