53. maximum subarray
descripyion:
find the contiguous subarray within an array (containing at least one number) which has the largest sum.
for example, given the array[-2,1,-3,4,-1,2,1,-5,4]
,
the contiguous subarray[4,-1,2,1]
has the largest sum =6
.
分析:這道題用分置的思想來做:
和最大的子陣列只能出現在三個位置:(從中間分開)左邊、中間、(從中間分開)右邊。
所以分別求出(從中間分開)左邊和最大的子陣列、中間和最大的子陣列、(從中間分開)右邊和最大的子陣列。
然後比較三者中最大的子陣列就是所求的子陣列。
my c ++ code:
class solution
static int max(int a, int b, int c)
static int maxsubsum(vector & a , int left, int right)
center = (left + right)/2;
maxleftsum = maxsubsum(a,left,center);
maxrightsum = maxsubsum(a,center+1,right);
maxleftbordersum = a[center];
leftbordersum = 0 ;
for(i = center ;i >= left;i--)
maxrightbordersum = a[center + 1];
rightbordersum = 0 ;
for(i = center+1;i <= right;i++)
return max(maxleftsum,maxrightsum,maxleftbordersum + maxrightbordersum);
} int maxsubarray(vector& nums)
};
171. excel sheet column number
description:
related to question excel sheet column title
for example:
a -> 1b -> 2
c -> 3
...z -> 26
aa -> 27
ab -> 28
分析:這道題可以模擬十進位制數字的表示來做,例如:
121 = 1*10^2+2*10^1+1*10^0
因此,就可以輕易地寫出如下**:
my c++ code:
class solution
return total ;
}};
演算法設計與應用基礎 第二週(1)
add to list description submission solutions n 2 times.you may assume that the array is non empty and the majority element always exist in the array.演...
第二週基礎作業
請在第一周作業的基礎上,繼續完成 找出給定的檔案中陣列的最大值及其對應的最小下標 下標從0開始 並將最大值和對應的最小下標數值寫入檔案。輸入 請建立以自己英文名字命名的txt檔案,並輸入陣列元素數值,元素值之間用逗號分隔。輸出在不刪除原有檔案內容的情況下,將最大值和對應的最小下標數值寫入檔案。實驗 ...
第二週基礎作業
輸入格式 輸入在第一行中給出乙個正整數n 1輸出格式 在一行中輸出最大值及最大值的最小下標,中間用乙個空格分開。輸入樣例 6 2 8 10 1 9 10 輸出樣例 10 2 include includeint main void scanf d n n fprintf fp,d n n for i...