1)輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個正數組成子陣列,每個子陣列都有乙個和。求所有子陣列的最大值。時間複雜度o(n)。
例如:輸入1,-2,3,10,-4,7,2,5 和最大的子陣列為3,10,-4,7,2 因此輸出為該子陣列的和18
public2)一根繩子長n公尺。將其切成幾段(至少切一下),每段長度都是整數。請給出一種切法,使得切成的各段繩子之間的乘積是最大的。(即自然數n分解為n個自然數的和,求這n個數的乘積最大值)class
maxsubsum ;
int sum=0;
for(int i=0;i)
else
if(sum>max[0])
}return
max;
}public
static
void
main(string args) ;
int max=maxsubsum.maxsubsum(arr);
for(int i=max[1];i<=max[2];i++)
system.out.print(arr[i]+",");
system.out.println();
system.out.println(max[0]);}}
思路:動態規劃
分析:最優問題,可以用動態規劃求解
1、描述最優解結構
n = a1 + a2 + ... + an;
m = a1 * a2 * ... * an;
求m的最大值
考慮到n = a + b,而a與b又可以分解為另外幾個和為a或b的數的積,因此對於確定的n = a + b,有乙個最優解m(n) = m(a)*m(n-a)。而a又有1到n/2種取值,所以有一般最優解m(n) = max{m(a) + m(n - a)}(a < n/2)。而對於1、2、3、4、5等的m值列乙個表,就可以得到n<=4時,m(n) = n。於是有下列遞迴定義。
2、遞迴定義最優解
**:
publicstatic
int m(int
n)
return
max;}
}
樂視筆試演算法題美團演算法筆試題
今天參加了樂視的校招筆試題有一道以前很熟悉的一道題記錄一下 備註 今天樂視筆試好多圖的選擇題和執行緒間同步的方式一道選擇題 上次總結過 給定乙個無序的整數陣列,怎麼找到第乙個大於 0,並且不在此陣列的整數。比如 1,2,0 返回3 3,4,1,1 返回2 1,5,3,4,2 返回6 100,3,2,...
樂視2017暑期實習生筆試題(二)
第二題 傳送門 程式設計題 困獸之鬥 經過深思熟慮之後,小賤君打算去m國闖一闖,那是乙個古老的東方國度,傳說有很多高階魔法師,他想成為一名偉大的魔法師,將來征服星辰大海。經過千辛萬苦,小賤君終於來到了m國,不幸的是剛進城門小賤君就被m國的守城士兵困在了一種叫做 困獸之鬥 的陣法之中。士兵對小賤君說 ...
樂視盒子刷入樂視TV的rom
如果,你看完以下警示,依然想刷機,那麼,請大膽刷吧,如果你覺得不合適,請等待官方的公升級包。1 此包只在c1s上測試過,運營商版本未經測試請勿刷此包,否則後果自負 2 公升級ui2.3版本之後,樂視網tv版內容必須登陸付費樂視帳號才可 這點與之前ui1.5不同 這是樂視傻x tv版策略 與本人無關 ...