国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

分治法之求最大連續(xù)子序列和

2019-11-06 07:18:04
字體:
供稿:網(wǎng)友

對原問題有如下解 1.最大子序列在數(shù)組中點(diǎn)的左邊 2.最大子序列在數(shù)組中點(diǎn)的右邊 3.最大子序列跨越數(shù)組中點(diǎn)

#include<iostream>using namespace std;int FIND_MAX_CROSSING_SUBARRAY(int a[],int low,int high){ int mid = (low+high)/2; int i = mid; int j = mid+1; int left_sum = 0; int right_sum = 0; int sum = 0; while(i>=low){ sum += a[i]; if(sum>left_sum) left_sum = sum; i--; } sum = 0; while(j<=high){ sum += a[j]; if(sum>right_sum) right_sum = sum; j++; } return left_sum+right_sum;}int FIND_MAXIMUM_SUBARRAY(int a[],int low, int high){ if(low == high) return a[low]; int mid = (low+high)/2; int left_sum = FIND_MAXIMUM_SUBARRAY(a,low,mid); int right_sum = FIND_MAXIMUM_SUBARRAY(a,mid+1,high); int cross_sum = FIND_MAX_CROSSING_SUBARRAY(a,low,high); if(cross_sum>left_sum && cross_sum>right_sum) return cross_sum; if(left_sum>cross_sum && left_sum>right_sum) return left_sum; if(right_sum>left_sum && right_sum>cross_sum) return right_sum;}int main() { int a[10] = {-1,0,23,414,-231,11,4234,-131323,1321,321}; cout<<FIND_MAXIMUM_SUBARRAY(a,0,9);}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 顺平县| 余干县| 托里县| 东城区| 兴隆县| 宁陕县| 大厂| 东港市| 郸城县| 博罗县| 县级市| 抚宁县| 疏附县| 聂拉木县| 托克逊县| 凭祥市| 公安县| 宁安市| 同仁县| 交口县| 图木舒克市| 辽源市| 腾冲县| 如东县| 盐边县| 宜君县| 禄劝| 九龙城区| 扎赉特旗| 蕉岭县| 唐河县| 易门县| 北辰区| 乌鲁木齐县| 双峰县| 达尔| 镇巴县| 菏泽市| 榆社县| 贵州省| 兰考县|