2017.8.22区间最大值问题

来源:互联网 发布:淘宝阿里旺旺卖家版 编辑:程序博客网 时间:2024/06/03 16:35

     题目不多说了,如果分到了这道题目肯定还记得,下面是简单的实现:

#!usr/bin/env python#encoding:utf-8'''__Author__:沂水寒城功能:区间最大值问题'''def slice(num_list, n=1):    res_list=[]    for i in range(len(num_list)-n+1):        res_list.append(num_list[i:i+n])    return res_listdef get_all(num_list):    res_list=[]    for i in range(1,len(num_list)+1):        res_list+=slice(num_list,n=i)    return res_listdef get_max(res_list):    num_list=[]    for one_list in res_list:        if len(one_list)==1:            num_list.append(one_list[0]*one_list[0])        else:            total=sum(one_list)            min_value=min(one_list)            num_list.append(total*min_value)    print max(num_list)if __name__ == '__main__':    num_list=[[1,2,6],[1,3,5,7],[3,4,5],[1,3,9]]    for one_list in num_list:        res_list = get_all(one_list)        get_max(res_list)


结果如下:


36603681[Finished in 0.6s]


原创粉丝点击