隊友:黃山成
一、分析
先將乙個長度為n的陣列擴大兩倍,即在這個陣列後加乙個一樣的陣列,然後依次取長度為n,陣列開頭元素為原陣列的單元構成n個陣列。對n個陣列依次進行求最大子陣列和,然後在這一堆和裡找出最大和。
二、**
str1="三、執行結果4 -2 3 -1 -1 10
"請輸入乙個陣列
"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
"最大值為
",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 輸出 ...