浠ユ妧鏈负涓
algorithm
鏈澶у瓙娈靛拰銆佹渶澶у瓙鐭╅樀鍜屻佹渶澶瀛愭鍜岄棶棰樻荤粨
鍗 30th
1锛屾渶澶у瓙娈靛拰闂
浠g爜锛
int MaxSum(int n,int *a) { int sum = 0; int b = 0,i; for(i=0;i<n;i++) { if(b>0) b+=a[i]; else b = a[i]; if(b>sum)sum = b; } return sum; }
2,鏈澶у瓙鐭╅樀鍜岄棶棰
浠g爜锛
int MaxSum2(int m,int n,int** a) { int sum = 0,i,j,k; int b[105]; for(i=0;i<m;i++) { for(k=0;k<n;k++) { b[k] = 0; } for(j=i;j<m;j++) { for(k=0;k<n;k++) { b[k]+=a[j][k]; } int mx = MaxSum(n,b); if(sum<mx)sum=mx; } } return sum; }
3锛屾渶澶瀛愭鍜岄棶棰
double b[50005]; double c[50005]; int MaxSum3(int m,int n,int* a) { int i,j,k,mx,sum; b[0] = 0; c[0] = 0; for(i=1;i<=m;i++) { b[i] = b[i-1] + arr[i]; c[i-1] = b[i]; mx = b[i]; for(j=i+1;j<=i+n-m;j++) { b[j] = b[j-1]>c[j-1]?b[j-1]+arr[j]:c[j-1]+arr[j]; c[j-1] = mx; if(mx<b[j]) { mx = b[j]; } } c[i+n-m] = mx; } sum = b[m]; for(k=m+1;k<=n;k++) { if(sum<b[k])sum=b[k]; } return sum; }
楂樼煯鎺掑簭闂锛屽緢缁忓吀銆愯浆杞姐戝涔犱笅
鍗 30th
浣滆:baihacker
鏉ユ簮:http://hi.baidu.com/feixue http://hi.csdn.net/baihacker
闂鎻忚堪:
12涓珮鐭笉鍚岀殑浜,鎺掓垚涓ゆ帓,姣忔帓蹇呴』鏄粠鐭埌楂樻帓鍒,鑰屼笖绗簩鎺掓瘮瀵瑰簲鐨勭涓鎺掔殑浜洪珮,闂帓鍒楁柟寮忔湁澶氬皯绉?
杩欎釜绗旇瘯棰,寰圷D,鍥犱负鎶婃煇涓掓帹鍏崇郴闅愯棌寰楀緢娣.
闂鍒嗘瀽:
鎴戜滑鍏堟妸杩12涓汉浠庝綆鍒伴珮鎺掑垪,鐒跺悗,閫夋嫨6涓汉鎺掑湪绗竴鎺,閭d箞鍓╀笅鐨6涓偗瀹氭槸鍦ㄧ浜屾帓.
鐢0琛ㄧず瀵瑰簲鐨勪汉鍦ㄧ涓鎺,鐢1琛ㄧず瀵瑰簲鐨勪汉鍦ㄧ浜屾帓,閭d箞鍚湁6涓0,6涓1鐨勫簭鍒,灏卞搴斾竴绉嶆柟妗.
姣斿000000111111灏卞搴旂潃
绗竴鎺:0 1 2 3 4 5
绗簩鎺:6 7 8 9 10 11
010101010101灏卞搴旂潃 鏇村 >
杩戞湡璇勮