zoukankan      html  css  js  c++  java
  • 计算最小数组环

    队友:黄山成http://home.cnblogs.com/u/surver/

    一、分析

    先将一个长度为n的数组扩大两倍,即在这个数组后加一个一样的数组,然后依次取长度为n,数组开头元素为原数组的单元构成n个数组。对n个数组依次进行求最大子数组和,然后在这一堆和里找出最大和。

    二、代码

    str1="4 -2 3 -1 -1 10"
    print"请输入一个数组"
    str1=raw_input()
    counter_1=0
    str2=str1+" "+str1
    str2=str2.split()
    #print str2
    counter_1=0
    
    for i in str2:
        counter_1=counter_1+1
    counter_1=counter_1/2
    #print counter_1
    answer_array=[0]*counter_1
    
    
    for j in range(0,counter_1):
        str3=str2[j:j+counter_1]
        #print"str3",str3
    
        sum_record_unexcept=0
        str3[0]=int(str3[0])
        sum_constant_add=0
    
        for i in str3:
            i=int(i)
            sum_record_unexcept=max(sum_record_unexcept,sum_constant_add)
            sum_constant_add=max(sum_constant_add+i,i)
        answer_array[j]=max(sum_constant_add,sum_record_unexcept)
        #print "answer_array[i]",answer_array[j]
    
    #print"answer",answer_array
    maxment=answer_array[0]
    for i in answer_array:
        if(maxment<i):
            maxment=i
    
    print"最大值为",maxment

    三、运行结果

  • 相关阅读:
    C# WM_NCMOUSELEAVE 消息触发
    C#常用集合的使用(转载)
    关于直播,所有的技术细节都在这里了(转载)
    C# Winform 窗体美化
    正则表达式符号全解析
    C#中List<T>转DataTable
    C#中的Queue集合
    C#中Stack集合
    智能信息处理
    Mysql
  • 原文地址:https://www.cnblogs.com/Megau/p/5326343.html
Copyright © 2011-2022 走看看