計算最小陣列環

2022-08-27 15:42:09 字數 1220 閱讀 5537

隊友:黃山成

一、分析

先將乙個長度為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+1counter_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

maxment=i

print

"最大值為

",maxment

三、執行結果

把陣列排成最小數

題目 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路 簡單的思路就是先對這些資料按照我們的規則進行排序,最後從頭到尾進行拼接。這時候就可以借助仿函式進行定義排序規則,要使排成最小的數字,...

把陣列排成最小數

題目描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。輸入 例如輸入陣列 輸出 則列印出這三個數字能排成的最小數字為 void printminnumber int numbers,int length sort str,str length,comp...

旋轉陣列的最小陣列

把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如,陣列 3,4,5,1,2 為 1,2,3,4,5 的乙個旋轉,該陣列的最小值為1。示例 1 輸入 3,4,5,1,2 輸出 1 示例 2 輸入 2,2,2,0,1 輸出 ...