渚嬪錛歔1, -3, 2, -4 , 5 , 6, -2, 6, 7] 鏈澶х殑鍜屽氨鏄?22 = 5 + 6 - 2 + 6 +7.
瑙f硶濡備笅錛?br />
int subMax(int [] a)
{
int best = 0;
int sum = 0;
for(int i = 0; i < a.length; i++)
{
sum = sum + a[i];
if(sum < 0 )
sum = 0;
else if(sum > best)
best = sum;
}
return best;
}
鎯蟲硶灝辨槸涓鐩村姞鎺ヤ笅鏉ョ殑鏁幫紝濡傛灉灝忎簬闆跺氨鍙樹負0錛屽ぇ浜庢渶澶х殑鏁板氨鏇存柊銆傚叾涓竴鐐瑰氨鏄紝濡傛灉閬囧埌璐熸暟錛?
濡傛灉鍜屼笉灝忎簬闆跺氨涓嶇敤浣縮um涓洪浂銆傚鏋滄暟緇勫叏閮ㄤ負璐熸暟錛屼笂闈㈢殑浠g爜鏈夌偣闂錛屼絾涓嶆敼浜嗐傚鏋滄兂鐭ラ亾
榪欎釜鏈澶х殑鍜岀殑搴忓垪鏄粈涔堬紝鍙紼嶅井鏀瑰彉灝卞彲浠ヤ簡錛屼笉璇翠簡銆?br />
2.
Ugly Number: 鎵懼嚭絎琻涓兘琚?錛?錛?鏁撮櫎鐨勬暟
渚嬪錛?, 3, 4, 5, 6, 9,10, 12, 15, 20, 25 ... 絎?涓槸4錛?絎?涓槸5錛岀5涓槸6 ... 絎?00鏄紵
鎯蟲硶錛氶鍏堟槸浠?1寮濮嬶紝2錛?錛?鍒嗗埆涔?錛屾渶灝忕殑鏄?錛屾帴涓嬫潵灝辨槸2錛?鐨勪綅緗繘1錛?鍜?鐨勪綅緗笉鍙?
鍐嶆潵涓嬈★紝鏈灝忕殑鏄?錛?鐨勪綅緗繘1錛?鍜?浣嶇疆榪?錛屽啀鏉ヤ竴嬈★紝鏈灝忕殑鏄?錛?鍜?鐨勪綅緗笉鍙樸傘傘?br />
int uglyNum( int n)
{
int a = new int[n+1]
a[0] = 1;
int i2 = 0, i3 = 0, i5 = 0;
int n2 = 0; n3 = 0; n5 = 0;
int m = 0;
for(int i = 0; i <= n; i++)
{
n2 = a[i2] * 2;
n3 = a[i3] * 3;
n5 = a[i5] * 5;
m = min(n2, n3, n5);
if(m == n2)
{
a[i] = m;
i2++;
}
//similar for i3 and i5
}
return a[n];
}
3. 鏈鍚庝竴涓棶棰橈細緇?i, j 涓や釜鏁幫紝鐒跺悗鎵撳嵃鍑?2^i 錛?^j 鐨勫簭鍒?br />
渚嬪錛?i = 3 j =4 灝辨墦鍗板嚭錛?br />
2^0 * 5 ^0 = 1
2^1 * 5^0 = 2
2^2 * 5 ^0 = 4
2^0 * 5^1 = 5
2^3 * 5^0 = 8
2^1 * 5^1 = 10
...
瑙f硶錛氬拰涓婇潰涓涓В娉曞緢鐩鎬技錛屼笉榪囨敞鎰忚澶勭悊鐩哥瓑鐨勬儏鍐碉紝姣斿2 * 2^1 * 5 ^1 = 20 2^2 * 5^0 ^5 = 20,
浠g爜灝變笉鍐欎簡銆?img src ="http://www.shnenglu.com/willcao/aggbug/176124.html" width = "1" height = "1" />
]]>