码迷,mamicode.com
首页 > 编程语言 > 详细

每周算法编程联系1

时间:2018-07-05 00:42:09      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:could not   __name__   int   ber   list   turn   tar   start   art   

在一个有序的列表中,查找指定数字的索引位置:

mylist = [1,2,3,4,5,6,7,8,9,10,11]

# list_len = mylist.__len__()
# print list_len


def find_number_index(list,target,start):
length = list.__len__()
print "--- "+str(length)
mid = int(length/2)

if mid <=1 :
if list[mid] == target:
return "find index: " + str(mid+ start)
elif list[mid-1] == target:
return "find index: " + str(mid -1+ start)
elif length == 3 and list[mid+1] == target :
return "find index: " + str(mid + 1 + start)
else:
return "could not mad a number"
elif list[mid] == target:
print " mylist[mid] == target "
return "find index: " + str(mid + start)
elif list[mid] > target:
print str(list[mid]) + " mylist[mid] > target "
list_min = list[:mid]
print list_min
return find_number_index(list_min,target,start)
else :
print " mylist[mid] < target "
list_max = list[mid:]
print list_max
return find_number_index(list_max,target, start+mid)


if __name__=="__main__":
print find_number_index(mylist,3, 0)

每周算法编程联系1

标签:could not   __name__   int   ber   list   turn   tar   start   art   

原文地址:https://www.cnblogs.com/linlianhuan/p/9265966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!